iptables 路由器问题『求助』

iptables 路由器问题『求助』

如果没有 iptables -P INPUT、OUTPUT、FORWARD ACCEPT,下面的脚本将无法运行。我肯定是缺少了一条规则,但找不到它。我是 iptables 的新手,所以我希望这里的一位天才能帮助我。ETH0 是 WAN,ETH1 是 LAN。

//编辑 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

答案1

您说需要将策略设置为在所有表上都接受。如果仅在 FORWARD 表上将其设置为接受,是否也能起作用?

另外,我假设您确实只测试转发而不是从本地机器测试?如果是后者,您也需要这样做:

iptables -A INPUT --match state --state RELATED,ESTABLISHED -j ACCEPT --match comment --comment "Accept traffic from outgoing connections and stuff like FTP."

顺便说一句,我会使用 iptables 注释选项,因此 iptables -L 也会提供有用的输出。

答案2

您必须启用 IP 转发

echo 1 > /proc/sys/net/ipv4/ip_forward

您也可以通过 sysctl 执行此操作。

相关内容