首页  >  问答  >  正文

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

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

ringa_leeringa_lee2743 天前896

全部回复(4)我来回复

  • 怪我咯

    怪我咯2017-04-17 11:34:56

    如果 A 上搭建有 VPN 的话。应该没这个问题。 如果你想直接访问 B 上的固定端口的话,可以端口转发,看这个链接 http://www.ruanyifeng.com/blog/2011/12/ssh_port_forwarding.html

    回复
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 11:34:56

    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即可

    回复
    0
  • PHP中文网

    PHP中文网2017-04-17 11:34:56

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

    回复
    0
  • 黄舟

    黄舟2017-04-17 11:34:56

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

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

    回复
    0
  • 取消回复