启动iptables

1
modprobe ip_tables

关闭iptables(关闭命令要比启动复杂)

1
2
3
4
5
6
7
iptalbes -F
iptables -X
iptables -Z
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
modprobe -r ip_tables

依次执行以上命令即可关闭iptables,否则在执行modproble -r ip_tables时将会提示FATAL: Module ip_tables is in use.

清除预设表filter中的所有规则链的规则

1
iptables -F

清除预设表filter中使用者自定链中的规则

1
iptables -X

以数字形式查看iptables规则

1
iptables -L -n

抛弃所有不符合三种链规则的数据包

1
2
3
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

设置 本地进程 lo 的 INPUT 和 OUTPUT 链接,eth0 的 INPUT 链

1
2
3
4
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -jACCEPT
iptables -A INPUT -i eth0 -m state --state NEW,INVALID -j LOG
iptables -A OUTPUT -o lo -j ACCEPT

开放SSH端口22

1
iptables -A INPUT -p tcp -i eth0 --dport ssh -j ACCEPT

开放Web端口80

1
iptables -A INPUT -p tcp -i eth0 --dport 80 -j ACCEPT

开放FTP端口21、20

1
2
iptables -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp --dport 21 -j ACCEPT

删除FTP端口21、20

1
2
iptables -D INPUT -p tcp --dport 20 -j ACCEPT
iptables -D INPUT -p tcp --dport 21 -j ACCEPT

允许loopback(不然会导致DNS无法正常关闭等问题)

1
2
IPTABLES -A INPUT -i lo -p all -j ACCEPT  (如果是INPUT DROP)
IPTABLES -A OUTPUT -o lo -p all -j ACCEPT (如果是OUTPUT DROP)

保存iptables规则

1
iptables-save > /etc/network/iptables.up.rules

iptables规则自动保存与自动加载

1
nano /etc/network/interfaces

修改 /etc/network/interfaces ,添加下面末尾2行脚本

1
2
3
4
auto eth0
iface eth0 inet dhcp
pre-up iptables-restore < /etc/network/iptables.up.rules
post-down iptables-save > /etc/network/iptables.up.rules

关闭防火墙才可以,可以使用以下代码.

1
2
3
4
5
6
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
sudo iptables -F
sudo apt-get purge netfilter-persistent
reboot

或者开通必要端口

1
2
3
4
5
6
7
8
sudo iptables -I INPUT -s 0.0.0.0/0 -p tcp –dport 8888 -j ACCEPT
sudo iptables -I INPUT -s 0.0.0.0/0 -p tcp –dport 80 -j ACCEPT
sudo iptables -I INPUT -s 0.0.0.0/0 -p tcp –dport 443 -j ACCEPT
sudo iptables-save
sudo apt-get update
sudo apt-get install iptables-persistent -y
sudo netfilter-persistent save
sudo netfilter-persistent reload