LAN 上的端口转发

LAN 上的端口转发

我有一台装有 Zentyal 3.0 (Ubuntu 12.04 LTS) 的服务器。我有 2 个网卡 ( eth0 - internet, eth1 - LAN),一个 DNS ( sz**.myftp.org)。

portforward 可以工作,但是当我从 LAN 请求 DNS 地址或外部 IP 地址时,它无法联系服务器。 (当我从外部这样做时,它可以联系。)

询问我用过或拥有的任何东西,我会告诉你。

答案1

根据您的问题,在我看来,LAN 网段可能会阻止端口 UDP 53,因此您可以轻松检查,只需禁用 IPtables 服务并检查即可。只需确保客户端 DNS 已配置即可。

更好的 DNS 设置选项解决方案如下:

选项1:

您可以在 LAN 中使用公共 DNS,例如。 8.8.8.8 ,那么您的客户端机器就可以访问您的服务器。

注意:-您可能不习惯使用此选项,因为您可能会限制客户端

选项2:

如果您在 LAN 中使用内部/内联网 DNS 服务器

在 DNS 中,存在诸如内部视图和外部视图之类的概念/配置

意味着在您的本地 dns 中,您已配置如下,如果匹配客户端是您的 LAN 网段,则 DNS 服务器将解析内部 IP,然后您的客户端可以通过您的网络服务器的 LAN IP 访问 LAN 中的网页。

如果不匹配,则 DNS 客户端回答公共 IP。

访问此对于相同的。

要进行故障排除,您可以在 Windows 客户端使用以下命令

nslookup  myftp.org

在Linux中

dig myftp.org

或者您也可以指定服务器,如下所示:

dig myftp.org  @address_of_your_lan_dns_or_check_using_public

如果 DNS 解析正确,则使用以下命令检查端口 80(http)/21(ftp) 是否打开:

在 Windows/Linux 中 telnet myftp.org 21

或者在Linux下

nc -zvw1 myftp.org 21

答案2

如果您的 LAN 有 NAT。设置 DNAT 将使端口转发适用于外部世界,当来自 LAN(具有 LAN 地址)的计算机尝试通过外部 IP 访问 LAN 中的服务器时,就会出现问题。

这个东西是通过设置修复的假面舞会(SNAT)。 iptables 配置中需要这样的内容:假设您的 LAN 是 192.168.2.0/24,该子网的默认 GW 是 192.168.2.1 (eth1)

iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o eth1 -j SNAT --to 192.168.2.1

或者

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

相关内容