基本上,NAT 对我来说是一个巨大的麻烦,因为我的调制解调器/路由器的微小 NAT 表一直在填满,然后我几分钟都无法发送任何数据包(例如,每次我 ping 很多服务器时都会发生这种情况)。
现在,我只有一台计算机,所以不需要 NAT,我想摆脱它。我从 ISP 获得了 1 个公共 IP。
我做了一些研究,似乎有一种方法是让调制解调器充当桥梁,并使用 Windows 建立 PPPoE 连接。但有一个问题,PPPoE 需要 ISP 提供的用户名/密码。而且我认为我的 ISP 甚至不支持 PPPoE,因为他们分发的所有调制解调器都配置为使用 IPoE(ENET ENCAP),不需要任何类型的凭据即可建立连接。
我曾尝试过简单地从调制解调器关闭 NAT,但随后我的计算机就失去了互联网连接。我做了一些研究,显然这是因为我使用 LAN IP 将数据包发送到 ISP,然后 ISP 将其丢弃(因为我的调制解调器不再更改数据包的源 IP)。
我尝试使用我的公共 IP 作为源发送数据包,但没有收到任何响应。我的调制解调器是否丢弃了响应而不是将其广播到 LAN 中的计算机?
但无论如何,我最终的问题是,有没有办法不使用 NAT 而仍然有互联网连接?只有一台电脑,只有一个公共 IP。如果是这样,怎么做
答案1
通过将调制解调器路由器设置为桥接模式,然后使用ipconfig /release
和ipconfig /renew
从 ISP 的 DHCP 服务器为我的计算机请求 IP,使其工作。
重要提示:在使用之前我必须首先禁用 Windows 防火墙ipconfig /renew
,否则请求将超时。
答案2
如果 ISP 提供的网关允许“ip passthru”,则可以禁用该网关上的 NAT。基本上,ISP 提供的网关设备会将公共 IP“passthru”到插入网关的内部网络上的单个设备。
如果传递 IP 的这一个设备是 Linux 机器,那么该机器将具有公共 IP。如果您在其中放置第二个 NIC,则可以使用 iptables“伪装”其后面的任意数量的设备。实际上,Linux 机器将具有公共 IP,并且对其后面的所有设备进行“nat'ing”。(实际上,使用 PAT,因为只有一个公共 IP)
这意味着你可以拥有一个带有公共 IP 的 Linux 工作站,并且在其后面的私有 LAN 上仍有数十台机器。该工作站实际上是一个伪装防火墙。
尽管这就是你的做法,但我建议不要这么做。