重零开始,构建自己的防火墙

1 清除防火墙规则

iptables -F

这时候。我们发现手机连接rt5350.上不了网了。查看 iptables 规则:

2 查看防火墙规则

root@goldsunny:/# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy DROP)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

可以看到转发规则被禁用了

3 修改防火墙默认规则

我们修改转发规则为允许

修改默认规则的格式 iptables -P

root@goldsunny:/# iptables -P FORWARD ACCEPT
root@goldsunny:/#
root@goldsunny:/# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

发现我们的手机能上网了。

因为我们手机连接的wifi是接到rt5350的lan网络中。而rt5350是通过 wwan 网络接到路由器,连接到外网的。所以,在不同网络之间的防火墙规则必须被允许,否则数据无法从 lan 到 wwan 连接到外网,故而无法上网。

4 增加防火墙规则:

iptables -A

例如。我想要禁止手机上网,改做何种操作:首先确定手机的IP。然后执行:

iptables -A FORWARD -s 192.168.20.171 -j REJECT

5 清除第一条防火墙规则:

iptables -D INPUT num

iptables -D INPUT 1

6 替换防火墙规则:

iptables -R FORWARD num new_rule

iptables -R FORWARD 1 -s 192.168.20.172 -j REJECT

7 实例:

7.1 禁止 tcp 协议,目标端口号为22 的数据访问:

iptables -A INPUT -p tcp --dport 22 -j REJECT