怎么设置VPN允许访问服务器的内网?

机房内两台服务器A、B,一台(B)只走内网,平时要把A当作跳板,先连A再ssh到B上,赶脚有点麻烦。 怎么设置VPN,连接到A上,能让我本地的电脑直接像访问局域网一样连接到B上?

阅读 24.4k
4 个回答

VPN配置方法

  1. 将你现在用的机器通过VPN连接到A上
  2. 在A上配置好iptables和/etc/sysctl.conf,允许MASQUERADE和IPv4包转送。
  3. 在你现在使用的机器上加入一条路由表记录,即目标为B时,网关为VPN的网关,流量通过VPN的网络接口(一般是ppp0)发送。
  4. 此时你连接B的任何端口的流量都会通过A转发。

补充

  • 还有一种简单的方法就是在A上执行ssh -fNg -L 8922:<hostname_B>:22 localhost,这样就可以把B的22端口转发到A的8922端口上,今后连接B时只要在你现在用的电脑上上输入ssh hostname_A -p 8922即可

你都接入VPN了 还不能访问b?查路由吧

让VPN servr把需要的路由表记录push过来(也就是你内网所在的网段),或者你自己设置这个vpn的路由表。当然,这种情况如果你使用的是NAT的话,会出现些问题:就是你能访问那边的机器,但是那边的机器不能直接访问你。

个人建议你做个网桥。你可以在A和自己机器上开一个tunnel(可能需要tap设备,不想自己开的话,可以用openvpn的桥接模式)。然后把A上的那个虚拟接口,桥接到物理接口上。这样你就完全在那边的局域网上了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题