首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将OpenVPN设置为Internet网关及虚拟服务器上多个专用网之间的连接

如何将OpenVPN设置为Internet网关及虚拟服务器上多个专用网之间的连接
EN

Server Fault用户
提问于 2015-01-19 04:12:06
回答 1查看 2.6K关注 0票数 2

我正在努力实施以下措施:

  • 网络A(例如,192.168.1.0/24)与路由器(192.168.1.254)
  • 网络B(例如,192.168.2.0/24)与路由器(192.168.2.254)
  • 用于VPN的在线vServer (例如172.217.2.7)与VPN网络(10.8.0.0/24)
  • 客户A(例如公众Wifi)
  • 客户端B(例如在其他专用网上)

我希望所有网络和客户端都能在我的服务器上初始化一个OpenVPN连接,并且所有客户端都应该能够看到该虚拟专用网上的其他客户/网络。

我还希望通过服务器(为了安全浏览)路由客户机的所有互联网流量(没有路由器),我还希望客户端能够到达专用网络“网络A”和“网络B”内的主机(反之亦然)。

网络只应将寻址到vpn客户端和主机的数据路由到vpn上的其他网络后面

我会将网络的路由器配置为:

  • 192.168.X.0/24 (其中X是自己的本地网络)本地
  • 192.168.0.0/16通过vpn。
  • 10.8.0.0/24通过vpn
  • 0.0.0.0/0通过互联网(其他一切.)
  • 防火墙: NATting到公共IP用于互联网,没有NATting用于VPN

我的路线正确吗?

现在真正的问题是:如何设置OpenVPN服务器和防火墙路由器。My是一个具有Ubuntu14.04位的Strato虚拟专用服务器。

我是否应该为所有客户端设置NAT作为互联网网关,而忽略路由器上的nat (如上面所述的路由)?我怎么才能让客户彼此沟通呢?最困难的是:如何通过vpn为网络中的主机设置数据包的前瞻。

示例:

代码语言:javascript
复制
Client B <=> VPN <=> Router for Net A <=> Host in Net A 
Host in Net A <=> Router Net A <=> VPN <=> Router Net B <=> Host in Net B
Server that hosts VPN ("internal IP") <=> VPN <=> Some Host behind a router
Server that hosts VPN ("internal IP") <=> VPN <=> Client

# Not that important, but would be cool:
Client A <=> VPN <=> Client B

我还需要做些什么来设置上面我可能已经忘记的东西?

EN

回答 1

Server Fault用户

发布于 2015-02-26 09:16:43

你是否启用了IP转发?

代码语言:javascript
复制
sudo vi /etc/sysctl.conf #uncomment net.ipv4.ip_forward and set = 1

net.ipv4.ip_forward =1

代码语言:javascript
复制
sudo sysctl -p

如果您正在使用TUN,那么您的客户端有一个隧道IP地址。默认池为10.8.1.0/24。除非您的路由器知道隧道IP,并且为它们提供了路由,否则您需要伪装(NAT)隧道的IP地址,以便OpenVPN服务器将源地址重写为自己。似乎您可能在提到路由10.8.0.0/24时就谈到了这一点。

代码语言:javascript
复制
sudo apt-get install iptables-persistent
sudo iptables -t nat -A POSTROUTING -s 10.8.1.0/24 -o eth0 -j MASQUERADE
sudo sh -c 'iptables-save > /etc/iptables/rules.v4'
票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/660532

复制
相关文章

相似问题

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