iptables初始设置
这是一份来自网友清园的iptables初始设置清单,供有选择地参考:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| #查看iptables现有规则 iptables -L -n #先允许所有,不然有可能会杯具 iptables -P INPUT ACCEPT #清空所有默认规则 iptables -F #清空所有自定义规则 iptables -X #所有计数器归0 iptables -Z #允许来自于lo接口的数据包(本地访问) iptables -A INPUT -i lo -j ACCEPT #开放22端口 iptables -A INPUT -p tcp --dport 22 -j ACCEPT #开放21端口(FTP) iptables -A INPUT -p tcp --dport 21 -j ACCEPT #开放80端口(HTTP) iptables -A INPUT -p tcp --dport 80 -j ACCEPT #开放443端口(HTTPS) iptables -A INPUT -p tcp --dport 443 -j ACCEPT #允许ping iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT #允许接受本机请求之后的返回数据 RELATED,是为FTP设置的 iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT #其他入站一律丢弃 iptables -P INPUT DROP #所有出站一律绿灯 iptables -P OUTPUT ACCEPT #所有转发一律丢弃 iptables -P FORWARD DROP
|
iptables常用规则
1. 删除现有规则
2. 阻止某个特定ip
比如,要阻止101.101.101.101这个ip的访问:
1
| iptables -A INPUT -s 101.101.101.101 -j DROP
|
3. 只允许内网访问某端口
比如,对于mysql默认端口3306,只能从内网访问:
1 2
| iptables -A INPUT --dport 3306 -s 192.168.1.0/24 -j ACCEPT iptables -A INPUT --dport 3306 -j DROP
|
更多规则可参考这篇文章。
iptables规则的保存
首先确保启用iptables
服务:
1 2
| systemctl enable iptables.service systemctl start iptables.service
|
然后使用
命令把规则保存到/etc/sysconfig/iptables
文件里。这样这样当计算机重启时,可自动重新加载。