【iptables】防火墙白名单配置
端口关闭 与 开放白名单
有一台 es 端口9200,想指定白名单创建连接,于是先把这个端口的所有监听先关闭掉,再对应添加白名单
(10.12.3.11 指的是客户端的 ip, 9200 指的是要访问的服务端的服务端口 )
iptables -I INPUT -p tcp --dport 9200 -j DROP
iptables -I INPUT -s 10.12.3.11 -ptcp --dport 9200 -j ACCEPT
iptables -I INPUT -s 10.12.3.12 -ptcp --dport 9200 -j ACCEPT
第二种方式:
vim /etc/sysconfig/iptables
-A INPUT -s 10.xx.xx.xx/24 -p tcp -m tcp --dport 8888 -j ACCEPT
-A INPUT -s 10.xx.xx.xx/24 -p tcp -m tcp --dport 9999 -j ACCEPT
然后重启下
systemctl restart iptables
把某个端口全部封掉
不在授权IP/IP段范围内的,全部拒绝访问
-A INPUT -p tcp -m tcp --dport 9200 -j DROP
-A INPUT -p tcp -m tcp --dport 9300 -j DROP
-A INPUT -p tcp -m tcp --dport 8080 -j DROP
注:
DROP的配置要放在最底下,ACCEPT的配置要放在 DROP的上面,不然 ACCEPT 无法生效。
常见错误
1、修改iptables 文件(任何配置文件),都应该做好备份
2、如果出现以下错误,很可能是iptables文件写错了 —— 把 iptables 还原一下,然后,再逐项修改。
[root@server-1 sysconfig]# systemctl status iptables.service
● iptables.service - IPv4 firewall with iptables
Loaded: loaded (/usr/lib/systemd/system/iptables.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Wed 2024-05-15 11:18:33 CST; 11s ago
Process: 1944963 ExecStart=/usr/libexec/iptables/iptables.init start (code=exited, status=1/F>
Main PID: 1944963 (code=exited, status=1/FAILURE)
5月 15 11:18:32 server-1 systemd[1]: Starting IPv4 firewall with iptables...
5月 15 11:18:32 server-1 iptables.init[1944963]: iptables: Applying firewall rules:
5月 15 11:18:32 server-1 iptables.init[1944968]: iptables-restore: line 242 failed
5月 15 11:18:33 server-1 iptables.init[1944963]: [FAILED]
5月 15 11:18:33 server-1 systemd[1]: iptables.service: Main process exited, code=exited, status>
5月 15 11:18:33 server-1 systemd[1]: iptables.service: Failed with result 'exit-code'.
5月 15 11:18:33 server-1 systemd[1]: Failed to start IPv4 firewall with iptables.