所以我经营一家 VPN 业务。当用户想要端口转发时,我会使用 DNAT。
是否可以像 upnp 一样让端口自动打开?
我听说过化装舞会可以做到这一点。
答案1
嗯,正如你所说,UPnP 可以做到这一点。Linux 的 UPnP 实现将相应地修改 iptables 规则做存在但显然 UPnP 需要应用程序支持相应的控制请求。Gentoo Wiki 有一个简短的指南用于设置 linux-igd(UPnP 守护进程实现)来改变 iptables 规则。
您可能已经注意到,DNAT 规则的重点是要知道 DNAT 到哪里 - 必须明确说明目的地。由于没有通用的方法来猜测,除非您找到另一种发送请求的方式,否则自动转换是不可能的 - 这就是 UPnP 正在做的事情。相反,伪装规则是 SNAT 类型的规则,用于 SNAT 的地址仅通过获取出站接口的 IP 地址来确定。虽然这对于奇怪的设置来说可能是错误的,但对于大多数用例来说,它运行得相当好。