Jim*_*ris 8 vpn openvpn static-ip linux-networking tunnel
我有一个Linux服务器一有5个公共IP地址块,8.8.8.122/29
。当前,8.8.8.122
分配给eth0
,并8.8.8.123
分配给eth0:1
。
我在远程位置有另一台 Linux 机器B,位于 NAT 后面。我想在两者之间建立一个隧道,以便B可以使用 IP 地址8.8.8.123
作为其主要 IP 地址。
OpenVPN 可能是答案,但我无法弄清楚如何设置(topology subnet
或者topology p2p
可能是合适的。或者我应该使用以太网桥接?)。安全和加密在这一点上不是一个大问题,所以 GRE 也可以——机器B将来自一个已知的 IP 地址,并且可以基于它进行身份验证。
我怎样才能做到这一点?任何人都可以建议在这种情况下可以使用的 OpenVPN 配置或其他方法吗?理想情况下,它还能够处理多个客户端(例如,与其他机器共享所有四个备用 IP),而不会让这些客户端使用他们无权使用的 IP。
我最终选择了以太网桥接。网上有很多非常冗长的例子,但事实证明这很容易:
首先,在A 上,/etc/network/interfaces
从:
auto eth0
iface eth0 inet static
address 8.8.8.122
netmask 255.255.255.248
gateway 8.8.8.121
Run Code Online (Sandbox Code Playgroud)
到:
auto br0
iface br0 inet static
address 8.8.8.122
netmask 255.255.255.248
gateway 8.8.8.121
pre-up openvpn --mktun --dev tap0
bridge_ports eth0 tap0
bridge_fd 3
Run Code Online (Sandbox Code Playgroud)
为了在启动时桥接eth0
(真正的 WAN 接口)与tap0
(新的隧道接口)。
然后,在A 上,使用以下命令运行 openvpn 服务器:
openvpn --dev tap0
Run Code Online (Sandbox Code Playgroud)
在B 上,连接到它:
openvpn --remote 8.8.8.122 --dev tap0 --route-gateway 8.8.8.121 \
--redirect-gateway def1 --ifconfig 8.8.8.123 255.255.255.248
Run Code Online (Sandbox Code Playgroud)
这就是超级简单的配置我一直在寻找,和它的作品-乙现在是8.8.8.123公开访问,并传出连接从同一地址发起。
当然,根据需要添加安全性(--secret
、--tls-server
等)。
归档时间: |
|
查看次数: |
11595 次 |
最近记录: |