![iptables规则脚本问题](https://linux22.com/image/180521/iptables%E8%A7%84%E5%88%99%E8%84%9A%E6%9C%AC%E9%97%AE%E9%A2%98.png)
我在网上找到了这个脚本,但是在linux mint上执行后出现2个问题:
USB WiFi 适配器无法连接互联网,只能通过内部 WiFi 连接
无法连接到任何 VPN
我必须在脚本中更改什么才能解决这两个问题?
https://tech.meetrp.com/blog/wp-content/uploads/2014/08/firewall.txt
答案1
- 该脚本使用过时的
ifconfig -s
命令来获取接口的名称。 USB 网络接口的新式名称可能类似于enxNNNNNNNNNNNN
接口NNNN...
的 MAC 地址。的输出ifconfig -s
将接口名称截断为 8 个字符,因此生成的规则将与实际接口名称不匹配。
您可以更换线路
INET_FACES=`$IFCONFIG -s | $GREP -vi 'kernel' | $GREP -vi 'iface' | $GREP -v 'lo' | $AWK '{print $1}'`
和:
INET_FACES=$(/bin/ls /sys/class/net | grep -v lo)
- 您需要添加规则来满足您要使用的 VPN 的要求。这可能涉及打开一些 TCP/UDP 端口、允许一些 ICMP 数据包和/或允许一些 IPsec (ESP) 或其他封装(GRE、L2TP,可能是其他协议)协议进出。您需要打开的确切端口/协议取决于您希望使用的特定 VPN。此外,VPN 客户端通常会在启动连接时创建一个新的虚拟网络接口;如果该脚本在 VPN 启动之前执行,则任何进出该虚拟接口的流量都将成为默认拒绝一切规则的受害者。
一般来说,我不建议使用来自互联网的随机防火墙脚本,直到您彻底阅读它们并了解他们所做的事情。然而,如果您想以困难的方式学习防火墙,这个已有 6 年历史的脚本可能是一个有用的起点。