我有这样一个网络:
我需要每个黑匣子从服务器B的独立IP操作。
这两台服务器都运行Debian 9。我只能更改网络设置(IP/Gatway等),但在这些黑匣子上没有其他任何更改。我该怎么做?
围绕着这件事?将盒的网关设置为192.168.1.100
服务器A
iptables -A FORWARD -s 192.168.1.0/24 -o tun0 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.1.101 -j SNAT --to 10.8.0.9
iptables -t nat -A POSTROUTING -s 192.168.1.102 -j SNAT --to 10.8.0.13
iptables -t nat -A POSTROUTING -s 192.168.1.103 -j SNAT --to 10.8.0.18
iptables -t nat -A POSTROUTING -s 192.168.1.104 -j SNAT --to 10.8.0.22
服务器B
iptables -A FORWARD -s 10.8.0.0/24 -o eth0 -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.9 -j SNAT --to xxx.xxx.xxx.xxx
iptables -t nat -A POSTROUTING -s 10.8.0.13 -j SNAT --to yyy.yyy.yyy.yyy
发布于 2017-09-19 12:23:40
我只能更改网络设置(IP/Gatway等),但没有其他。
那就不可能了。您的问题没有具体说明您是否需要双向连接(即是否需要从因特网访问“黑匣子”),但无论如何,这至少需要SNAT的iptables和基于iproute2的高级策略路由。
在原问题编辑后添加:
是的,像这样的东西可能会起作用。但这在很大程度上取决于您的OpenVPN设置。来自VPN子网(10.8.0.0/24)的本地IP应该在您的服务器A上设置,并通过VPN隧道路由。也不要忘记允许相关的数据包返回。这通常是通过这样的规则来完成的:
iptables -A FORWARD -i tun0 -m state --state RELATED,ESTABLISHED -j ACCEPT
在服务器A上,以及服务器B上的-i eth0
的相应规则上,您必须将服务器A设置为“黑匣子”的默认网关。
但是,您也可以考虑设置您的OpenVPN,以允许直接往返于服务器B的192.168.1.0/24子网,而不是做双SNAT的开销。关于此配置,Internet上有多个教程。
发布于 2017-09-19 12:27:21
您不能像这样“分配”外部IP。但是,您可以使用iptables和SNAT模块进行IP NAT或TCP/UDP端口转发。
https://serverfault.com/questions/874421
复制相似问题