iptables 阻止 eth1 上的互联网端吗?

iptables 阻止 eth1 上的互联网端吗?

如何使用iptables处理两个以太网口?

eth0 端口供 LAN 使用(192.168.1.50 专用 IP)。

eth1 端口通过电缆调制解调器(80.0.xxx.xxx 公共 IP)连接到互联网。

ifconfig输出:

eth0      Link encap:Ethernet  HWaddr 00:19:99:C1:86:BB
          inet addr:192.168.1.50  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:137532 errors:0 dropped:0 overruns:0 frame:0
          TX packets:55658 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:99968969 (95.3 MiB)  TX bytes:10403525 (9.9 MiB)
          Interrupt:50 Memory:fe700000-fe720000

eth1      Link encap:Ethernet  HWaddr 00:19:99:C1:61:3B
          inet addr:80.0.xxx.xxx  Bcast:255.255.255.255  Mask:255.255.252.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:144558 errors:0 dropped:0 overruns:0 frame:0
          TX packets:70347 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:34500131 (32.9 MiB)  TX bytes:27893843 (26.6 MiB)
          Interrupt:177 Memory:fe600000-fe620000

如何使用iptables来阻止所有传入路由eth1但只允许22端口。这样Internet端就无法访问我们的Web服务器,ftp服务器等。只允许22端口进行SSH访问。 Ping 也应该可以工作。

在本地网络 ( eth0) 上,有超过 70 台客户端 PC - 它们应该能够访问服务器上的任何内容,但只是阻止内部本地 ip 192.168.1.20 和 192.168.1.30 访问 192.168.1.50(私有 ip)服务器。

使用 iptables 如何做到这一点?

答案1

您可以使用-i device-o device来匹配以太网设备。例如,

iptables -P INPUT DROP
iptables -A INPUT -i lo -j ACCEPT # must allow machine to talk to itself, else much breakage.
iptables -A INPUT -i eth0 -j ACCEPT
iptables -A INPUT -i eth1 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -i eth1 -p icmp --icmp-type echo-request -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

或者类似的。您还可以使用-s/-d来过滤源和目标 IP 地址。

我建议命名您的以太网接口,以便您可以使用-i lan&-i wan代替。您可以在 udev 规则中命名它们。在 Debian 上,您可以编辑/etc/udev/rules.d/70-persistent-net.rules.

PS:过滤 WAN 接口时,请确保 DHCP 仍然有效(如果您正在使用它)。否则,当租约到期时,您的连接将神秘地中断,这可能是在一段时间之后。

答案2

小心!!

您提到为 ssh 打开端口 21。端口 21 的标准用法是 ftp;端口 22 是标准 ssh。虽然可以(有时需要)使用非标准 ssh 端口,但如果您忘记(或忘记告诉其他用户),您最终会感到非常头疼。

也就是说,可以在此处找到常用 iptables 示例的集合。

http://www.thegeekstuff.com/2011/06/iptables-rules-examples/

更通用的 IPTables 参考:

https://help.ubuntu.com/community/IptablesHowTo

相关内容