我目前有这个片段:
# flush all chains
iptables -F
iptables -t nat -F
iptables -t mangle -F
# delete all chains
iptables -X
Run Code Online (Sandbox Code Playgroud)
运行此命令后,某些不可渗透的规则是否有可能继续存在?
这个想法是有一个完全干净的 iptables 配置,可以很容易地用新规则集替换(不用考虑路由/ifconfig 的参数)。
昨天我买了一台新电脑作为我的家庭服务器,HP Proliant 微服务器。在其上安装 Arch Linux,内核版本为 3.2.12。
安装 iptables(1.4.12.2 - 当前版本 AFAIK)并将net.ipv4.ip_forward密钥更改为 1,并在 iptables 配置文件中启用转发(并重新启动)后,系统无法使用其任何网络接口。Ping 失败
Ping: sendmsg: operation not permitted
Run Code Online (Sandbox Code Playgroud)
如果我完全删除 iptables,网络就可以了,但是我需要将 Internet 连接共享到本地网络。
eth0 - 集成在主板上的 WAN 网卡(Broadcom NetXtreme BCM5723)。
eth1 - pci-express 插槽中的 LAN NIC(英特尔 82574L 千兆网络)
由于它在没有iptables的情况下工作(服务器可以访问互联网,并且我可以从内部网络使用ssh登录),我认为它与iptables有关。我对 iptables 没有太多经验,所以我使用这些作为参考(当然彼此分开......):
wiki.archlinux.org/index.php/Simple_stateful_firewall#Setting_up_a_NAT_gateway
revsys.com/writings/quicktips/nat.html
在我以前的服务器上,我使用 revsys 指南来设置 nat,效果很好。
有没有人经历过这样的事情?我究竟做错了什么?