注意:iptables只能被拥有超级权限的用户设置。
重启 清空 iptables 规则;在终端输入:
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
下面的指令厉害了,可以让你的电脑成为铜墙铁壁,百毒不侵,当然这样的绝对防御是有代价的,封起了所有的端口,自己也无法上网了。。。。。。。。
禁止所有数据进入:
iptables -P INPUT DROP
禁止所有数据送出:
iptables -p OUTPUT DROP
禁止所有FORWARD:
iptables -p FORWARD DROP
很明显DROP在iptables中是禁止的意思
下面要开始设置iptables规则了。
开放网卡:
iptables -A INPUT -i eth0 -j ACCEPT
意思是:接受所有来源于eth0网卡的数据;
iptables -A INPUT -i eth0 -j ACCEPT
意思是:接受所有非来源于eth0网卡的数据(当然有多张网卡的时候才有用);
开放端口:
下面就于开放SSH默认的22端口为例:(SSH只开放tcp协议的就行了。upd我只是举例的。)
iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
意思是:允许eth0网卡tcp协议的22端口的进入数据;
iptables -A INPUT -i eth0 -p udp --dport 22 -j ACCEPT
意思是:允许eth0网卡udp协议的22端口的进入数据;
iptables -A FORWARD -i eth0 -p tcp --dport 22 -j ACCEPT
iptables -A FORWARD -i eth0 -p udp --dport 22 -j ACCEPT
还没有搞清楚FORWARDS是什么作用。不好意思。
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
意思是:允许tcp协议的22端口的输出数据;
iptables -A OUTPUT -p udp --sport 22 -j ACCEPT
意思是:允许udp协议的22端口的输出数据;
保存设置:iptables-save -c > iptables.save
注意,这个iptables.save是执行这条命令后在当前文件下生成的iptables存档文件。
载入iptables.save文档: iptables-restore -c /你保存iptables.save的目录/iptables.save
提示,如果要每次重启电脑时都能自动载入iptables的规则:
sudo vi /etc/rc.local
在文件rc.local的exit 0 的前一行加入:iptables-restore -c /你保存iptables.save的目录/iptables.save
如图:
结束!!!!!