如果没有 iptables -P INPUT, OUTPUT, FORWARD ACCEPT,下面的脚本将无法工作。我一定错过了一条规则,但找不到它。我是 iptables 的新手,所以我希望这里的一位天才可以帮助我。ETH0 是广域网,ETH1 是局域网。
//edit 2 转发在 sysctl.conf 中启用。
#downen network interfaces
ifconfig eth0 down
ifconfig eth1 down
#droppen traffic
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -P FORWARD DROP
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -t nat -F
#verkeer naar buiten toe laten en nat aanzetten
iptables -A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#RDP forward voor windows servers
iptables -t nat -A PREROUTING -p tcp --dport 3389 -i eth1 -j DNAT --to destination 192.168.2.10
iptables -t nat -A PREROUTING -p tcp --dport 3340 -i eth1 -j DNAT --to destination 192.168.2.12
#toestaan SSH verkeer
iptables -t nat -A PREROUTING -p tcp --dport 22 -i eth0 -j DNAT --to destination 192.168.2.1
iptables -t nat -A PREROUTING -p udp --dport 22 -i eth0 -j DNAT --to destination 192.168.2.1
#toestaan verkeer loopback
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
#toestaan lokaal netwerk
iptables -A OUTPUT -o eth1 -j ACCEPT
iptables -A INPUT -i eth1 -j ACCEPT
#netwerk kaarten aanzetten
ifconfig eth0 XXXXXXXX
ifconfig eth1 192.168.2.1/24
route add default gw XXXXXXXXXX
ifconfig eth0 up
ifconfig eth1 up
您说您需要将策略设置为在所有表上都接受。当您将其设置为仅在 FORWARD 表上接受时,它是否也有效?
另外,我假设您确实只测试转发而不是本地机器?如果是后者,您也需要这样做:
作为旁注,我会使用 iptables 注释选项,因此 iptables -L 也可以提供有用的输出。
您必须启用 ip 转发
您也可以通过 sysctl 执行此操作。