有时,您需要以某种方式连接两个网络。 我通常需要访问多个 NAT 后面的机器,以方便系统管理。 到目前为止,我在 ssh 中结合使用了 OpenVPN 和 DynamicForward,并巧妙地使用了 ProxyCommand 和 nc,再加上 Firefox 的 proxy.pac,使一切看起来都能正常工作。 不过,我从未成功地通过隧道连接过各种基于 JavaWebStart 的远程控制台,这些控制台希望使用套接字直接从你的机器连接到远程 IP(为此,你必须使用 jcontrol 禁用所有代理设置并选择直接连接)。
none

n2n:第二层点对点 VPN正是我想要的。 它允许你在 NAT 后面的节点上构建 IP 网络。 但是,对于在 NAT 后面访问另一个局域网上的专用网络这个具体例子,它真的更容易配置吗? 让我们一探究竟。
步骤很简单:
- 安装 n2n(需要在超级节点和两个节点上安装)
all\$ sudo apt-get install n2n
- 在公共地址上启动超级节点,DNS 名称为 super.example.com
internet\$ supernode -l 1234
- 开始第一个客户
local# edge -c community -d community -k secret \ -l super.example.com:1234 -a 10.1.2.1
- 在局域网内某处启动远程端点
remote# edge -c community -d community -k secret \ -l super.example.com:1234 -a10.1.2.2 -r
注意已更改的 IP 地址和-r标志,这将允许我们通过该节点进行路由。remote# sysctl -w net.ipv4.ip_forward=1 remote# iptables -t nat -A POSTROUTING -s 10.1.2.1 -o tun0 -j MASQUERADE
这将为来自 community tap 接口并通过 tun0 进入局域网的数据包提供转发和 NAT 功能。 我们还需要在本地为远程局域网网络设置路由:local# ip route add 172.18.0.0/16 via 10.1.2.2