iptables 阻止本地网络的端口

iptables 阻止本地网络的端口

我的基础设施内部存在问题。chat.example.com 端口 8185 在我的基础设施外部可以通过端口转发到正确的框进行访问。但在我的基础设施内部,我无法访问它。

root@node1:/etc/iptables# telnet chat.example.com 8185
Trying 91.x.x.x...
telnet: Unable to connect to remote host: Connection refused

在我的基础设施之外:

guilhem@guilhem-Lenovo-B50-30:~$ telnet chat.example.com 8185
Trying 91.x.x.x...
Connected to chat.example.com.
Escape character is '^]'.

我不明白为什么我无法从我的基础设施访问它...

这是我的 iptables 规则:

root@node1:/etc/iptables# cat rules.v4
# Generated by iptables-save v1.4.21 on Thu Nov 26 13:51:03 2015
*nat
:PREROUTING ACCEPT [1577:148565]
:INPUT ACCEPT [484:29040]
:OUTPUT ACCEPT [403:31487]
:POSTROUTING ACCEPT [47:2820]
-A PREROUTING -d 91.x.x.x/32 -i eth0 -p tcp -m tcp --dport 8185 -j DNAT --to-destination 10.0.100.30:8185
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Thu Nov 26 13:51:03 2015
# Generated by iptables-save v1.4.21 on Thu Nov 26 13:51:03 2015
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [4:407]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth1 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 8185 -j ACCEPT
-A INPUT -j DROP
-A FORWARD -i eth1 -j ACCEPT
-A FORWARD -d 10.0.100.30/32 -i eth0 -p tcp -m tcp --dport 8185 -j ACCEPT
-A OUTPUT -p icmp -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -o eth1 -j ACCEPT
-A OUTPUT -o eth0 -j ACCEPT
COMMIT
# Completed on Thu Nov 26 13:51:03 2015

如果您有任何想法...谢谢!

答案1

听起来像是 DNS 问题。您很可能将外部 DNS 设置为指向防火墙/路由器(外部 IP)。然后,防火墙会将 IP/端口转发到网络上的正确 IP。

为了使它在你的内部的网络,您需要进行类似的 DNS 设置。但您需要将地址指向您的内部 IP 地址。

您可以通过设置的 DNS 服务器为整个网络执行此操作。或者,如果您只需要为一台计算机执行此操作,那么您只需在该计算机的 HOST 文件中输入以下内容即可:

sudo nano /etc/hosts

然后输入:(按照此格式IP 主机名.域名别名

LIP.###.###.### chat.example.com 示例

LIP = 您尝试访问的服务器的本地 IP 地址

然后尝试 ping“chat.example.com”并查看它是否指向正确的 IP。

ping chat.example.com

请注意,如果您使用主机文件,则这仅适用于该计算机。网络上的任何其他计算机都必须在其主机文件上有类似的条目。如果您有许多计算机尝试访问该文件,那么值得考虑设置 DNS 服务器。

相关内容