首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过VPN路由本地网络,分配多个外部IPs

通过VPN路由本地网络,分配多个外部IPs
EN

Server Fault用户
提问于 2017-09-19 12:10:30
回答 2查看 141关注 0票数 0

我有这样一个网络:

我需要每个黑匣子从服务器B的独立IP操作。

这两台服务器都运行Debian 9。我只能更改网络设置(IP/Gatway等),但在这些黑匣子上没有其他任何更改。我该怎么做?

围绕着这件事?将盒的网关设置为192.168.1.100

服务器A

代码语言:javascript
运行
复制
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

代码语言:javascript
运行
复制
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    
EN

回答 2

Server Fault用户

发布于 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上有多个教程。

票数 2
EN

Server Fault用户

发布于 2017-09-19 12:27:21

您不能像这样“分配”外部IP。但是,您可以使用iptables和SNAT模块进行IP NAT或TCP/UDP端口转发。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/874421

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档