iptables 允许特定主机访问本机,其他所有 IP 拒绝
目录
关闭 fw,开启 iptables
#关闭 firewalld 防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
#安装 iptables 防火墙
yum -y install iptables iptables-services
#设置 iptables 开机启动
systemctl start iptables.service
systemctl enable iptables.service
常用命令
iptables -L # 查看规则链
iptables -F # 清除规则链,只剩默认策略
iptables -I INPUT -j DROP # 阻止所有机器访问本机
iptables -t filter -A INPUT -p icmp -j REJECT # 不允许任何主机 ping 本主机,REJECT 拒绝
iptables -I INPUT 1 -p icmp --icmp-type echo-request -j DROP # 禁止全部 ping 操作,同上
iptables -I INPUT -p icmp --icmp-type echo-request -s 192.168.10.30 -j ACCEPT # 允许指定 ip 可以 ping 操作
iptables -A INPUT -s 192.168.1.0/24 -p tcp -j ACCEPT # 配置允许某一网段访问本机所有端口
iptables -I INPUT -p tcp --dport 22 -j DROP # 拒绝所有主机访问本机 tcp 22 端口
iptables -I INPUT -s 192.168.10.30 -p tcp --dport 22 -j ACCEPT # 允许指定主机访问本机 tcp 22 端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 配置允许所有 IP 访问本机 22 端口
iptables -I INPUT -p tcp -m iprange --src-range 192.168.10.10-192.168.10.100 -j ACCEPT # 允许指定范围 IP 访问本机所有 tcp 端口
iptables -A INPUT -s 192.168.1.123 -p tcp --dport 80 -j DROP # 配置禁止某个 ip 访问本机的 80 端口
service iptables save # 使配置防火墙策略永久生效,执行保存命令,不然的话重启后会失效
设置白名单
[root@master ~]#vim /etc/sysconfig/iptables
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
#
# #定义白名单群组
-N whitelist
#设置白名单IP,开放ip可以访问设备,白名单就按类似规则增加就可以
-A whitelist -s 192.168.10.20 -j ACCEPT
-A whitelist -s 192.168.10.30 -j ACCEPT
#开放所有设备主动访问的服务器,处在RELATED,ESTABLISHED状态可以通信,这样设备需要主动访问的服务器就不用一个一个添加到白名单了
-A INPUT -m state --state RELATED,ESTABLISHED -j whitelist
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
# #白名单端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j whitelist
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j whitelist
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j whitelist
#拒绝白名单以外IP访问指定端口
-A INPUT -p tcp -m multiport --dports 3306,80,22 -j DROP
COMMIT
[root@master ~]#systemctl restart iptables
链接1
链接2
Linux 使用 iptables 禁止某些 IP 访问
Linux 防火墙--iptables--白名单配置
iptables 设置黑白名单