Linux服务器设置入站规则(能访问服务器的IP)

接上一篇出站配置,这一篇是入站配置,因为出站配置的时候没有涉及入站配置,所以没什么问题(因为入站默认都是允许),如果要进行入站设置得话,有些点需要注意的:
当你已经设置出站策略DROP,此时入站策略还是ACCEPT,如果你想把ACCRPT改为DROP的话 ,就要注意一点,那就是必须把出站策略中所设置的IP也要加入进来,因为TCP是双向的如果你只给它发,不接收它的,那么也是连接不通的.所以一定要注意,其余配置和出站保持一致即可
出站配置请点击此处,必须看完这一篇,才知道入站该怎么设置,觉得有用请三连!!!

1. 停止并禁用Firewalld服务

如果当前使用的是Firewalld,可以先停止并禁用它,以便使用iptables进行配置:

sudo systemctl stop firewalld
sudo systemctl disable firewalld
2. 设置默认入站策略为DROP(我认为这个可以留到后面在配置)

将默认入站策略设置为DROP,拒绝所有未经允许的入站流量:

sudo iptables -P INPUT DROP
3. 允许本地回环接口流量

确保本地回环接口的流量不被阻止,因为许多应用程序依赖于此接口进行通信:

sudo iptables -A INPUT -i lo -j ACCEPT
4. 允许已建立的连接

允许已建立和相关的连接通过,以确保现有连接(例如SSH会话)不被中断:

sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
5. 允许特定端口的入站流量

根据需要开放特定端口以允许入站流量。例如,开放SSH(端口22)、HTTP(端口80)和HTTPS(端口443):

# 允许SSH
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# 允许HTTP
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

# 允许HTTPS
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
6. 允许特定IP地址的入站流量

如果需要允许特定IP地址的入站流量,可以添加如下规则:

# 允许来自192.168.1.100的所有入站流量
sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT
7. 保存iptables规则

保存配置以确保在系统重启后规则仍然有效。对于Debian/Ubuntu系统,可以使用iptables-persistent包:

sudo apt-get install iptables-persistent
# 安装过程中,它会提示保存规则
8. 查看已设置的规则

可以使用以下命令查看当前的iptables规则:

sudo iptables -L -v
9. 示例规则配置

假设我们想允许HTTP、HTTPS、SSH流量,并允许来自特定IP地址的所有流量,同时拒绝其他所有流量。具体配置如下:

# 设置默认策略为DROP
sudo iptables -P INPUT DROP

# 允许本地回环接口流量
sudo iptables -A INPUT -i lo -j ACCEPT

# 允许已建立和相关的连接
sudo iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

# 允许SSH
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# 允许HTTP
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT

# 允许HTTPS
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

# 允许特定IP地址的所有入站流量
sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT

# 允许特定IP地址192.168.1.100通过端口22(SSH)
sudo iptables -A INPUT -p tcp -s 192.168.3.52 --dport 22 -j ACCEPT

# 允许特定IP地址192.168.1.100通过端口80(HTTP)
sudo iptables -A INPUT -p tcp -s 192.168.3.52 --dport 80 -j ACCEPT

10. 保存iptables规则

对于Debian/Ubuntu系统,可以使用 iptables-persistent 包来保存规则:

sudo apt-get install iptables-persistent  
# 安装过程中,它会提示保存规则

注意:对于CentOS/Fedora系统,iptables-services 不再是官方的包,但可以将规则保存到文件中,并在启动时通过脚本或 systemd 服务重新加载它们。一种常见的做法是将规则保存到 /etc/sysconfig/iptables(对于某些旧版本的CentOS)或 /etc/iptables/rules.v4(对于较新的版本),并使用 iptables-restore 命令来加载它们。

然后,可以编写一个 systemd 服务来在启动时加载这些规则,或者将 iptables-restore 命令添加到某个现有的启动脚本中。

例如,将规则保存到 /etc/iptables/rules.v4 文件中:

sudo bash -c 'iptables-save > /etc/iptables/rules.v4'

注意事项

  • 谨慎操作:在更改防火墙设置之前,请确保完全理解这些更改的影响,并在非生产环境中进行测试。
  • 备份规则:在更改规则之前,最好先备份当前的iptables规则,以便在需要时可以恢复。
  • 确保有替代访问方法:始终确保你有访问服务器的替代方法(如物理控制台、VNC、SSH密钥等),以防不小心锁定了自己。

通过以上步骤,你可以有效地管理服务器的入站流量,提升安全性。
如有错误请在评论区指出,觉得有用请关注点赞加收藏,谢谢!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值