我有一个客户,通过 OpenVPN 将两个办公室连接在一起。配置它的人不是我,我很难弄清楚其他人做了什么(我无法联系他,他没有回答)。显然,有两个服务器,没有客户端,每个服务器后面的两个子网都可以看到远程端的所有内容。服务器在 12.04 LTS Ubuntu 机器上运行。Server01 位于桥接到 ISP 调制解调器的 dd-wrt 路由器后面。Server02 直接连接到 ISP 路由的 wi-fi 调制解调器。两个 LAN 网关上都正确配置了端口转发。两台服务器上的 IP 转发也已启用。隧道已启动(我可以从另一台服务器 ping 通每台服务器)。
我的问题是:另一位技术人员重置了 Server02 调制解调器,一切突然停止工作。
已经尝试过:
- 修改 Openvpn conf 文件为服务器-客户端模型;
- 为 dd-wrt 添加指向 OpenVPN 服务器的静态路由;
- 为 Server02 LAN 上的 Windows 机器添加静态路由;
- 重新启动两台服务器;
- 重新启动两个 LAN 网关。
以下是 Openvpn conf 文件:
服务器02
port 1194
proto udp
dev tun
secret static.key
remote server01.dyndns.org
# float is needed because server02 is behind stupid ISP router and can't enforce port
float
ifconfig 192.168.254.2 192.168.254.1
#push "route 192.168.2.0 255.255.255.0"
route 192.168.1.0 255.255.255.0
comp-lzo
verb 3
keepalive 10 60
fragment 1400
mssfix
服务器01
port 1194
proto udp
dev tun
secret static.key
remote server02.dyndns.org
float
ifconfig 192.168.254.1 192.168.254.2
#push "route 192.168.1.0 255.255.255.0"
route 192.168.2.0 255.255.255.0
comp-lzo
verb 3
keepalive 10 60
fragment 1400
mssfix
两台服务器上的 $iptables -S 输出:
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -j ACCEPT
提前致谢,希望您能提供帮助。
答案1
使用 Windows 中的静态路由和 DD-WRT 中的防火墙规则解决了这个问题,如下所示:
DD-WRT路由器上的防火墙脚本:
iptables -A FORWARD -i tun+ -j ACCEPT
Server02 后面的 Windows 计算机上的静态路由:
route add 192.168.1.0 mask 255.255.255.0 192.168.254.2