我的条件是有 3 台计算机的本地网络
- Comp A(10.1.1.7 和 172.16.1.12 和 192.168.0.4)(实际上 Comp A 有 3 个网络接口)
- 比较 B (10.1.1.13)
- 比较 C (172.16.1.5)
Comp A 有两个网络接口,我在 Comp A 后面使用 NAT 连接 Comp C,它是一个 Tomcat 服务器。另外,NAT 是 172.16.1.5:8080<->10.1.1.7:80
现在,我尝试在 Comp A (10.1.1.7) 上使用 iptables:
sudo iptables -A INPUT -s 10.1.1.13 -j DROP; sudo iptables -A INPUT -p tcp --dport 80 -j REJECT;
之后,Comp B (10.1.1.13) 无法 ping Comp A (10.1.1.7) 但我仍然可以访问 Tomcat 页面。我什至尝试使用第二个命令(REJECT 端口 80)来阻止端口 80。
我可以阻止 Comp B (10.1.1.13) 以使 Comp B 无法访问 Tomcat 页面。如果我只屏蔽端口,是不是只能不让Tomcat访问,但还能ping通10.1.1.7?谢谢
我的 iptables -v -x -n -L:
pkts bytes target prot opt in out source destination
0 0 DROP all -- * * 147.8.179.216 0.0.0.0/0
0 0 DROP all -- * * 14.0.154.45 0.0.0.0/0
0 0 DROP all -- * * 10.1.1.13 0.0.0.0/0
0 0 REJECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 reject-with icmp-port-unreachable
而且,我的 iptables -v -x -n -L -t -nat:
Chain PREROUTING (policy ACCEPT 35032 packets, 1969104 bytes)
pkts bytes target prot opt in out source destination
386 19820 DNAT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 to:172.16.1.5:8080
Chain INPUT (policy ACCEPT 34737 packets, 1955948 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 312260 packets, 19072061 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 312260 packets, 19072061 bytes)
pkts bytes target prot opt in out source destination
385 19780 SNAT tcp -- * * 0.0.0.0/0 172.16.1.5 tcp dpt:8080 to:172.16.1.12