如果这个问题已经在另一个帖子中解释过了,我很抱歉,但是我在任何地方都找不到解决我的问题的方法。
我对所附网络图有疑问。我可以永久共享路由器 R2 下主机 192.168.1.21 上任何服务的端口到路由器 R1 下主机 192.168.1.121 吗?路由器 R1 下的网络中有一台 192.168.1.112 服务器,该服务器通过 tun0 网络(OpenVPN)连接到路由器 R2 下的 192.168.1.20 服务器。
我能够通过 SSH 成功隧道化端口,但我想要一个永久的解决方案。我将非常感激您的帮助。
所有服务器都配有 Linux 操作系统。
编辑:2024-03-08
我把R2下网络内的地址改成192.168.2.0,并给两台路由器都添加了路由,下面是在PC1上执行tracert后的结果。
路由器的网站(192.168.2.1)未在浏览器中显示。地址 192.168.2.21 应指向另一台服务器。在 192.168.2.0 网络内可以 ping 通 192.168.2.21 服务器,没有任何问题。
从 192.168.2.21 到 192.168.1.1 进行 Tracert
路由器配置192.168.1.1
路由器配置192.168.2.1
服务器配置
local 192.168.1.112
port 1194
proto tcp4
dev tun
ca ca.crt
cert server-dell.crt
key server-dell.key # This file should be kept secret
dh dh2048.pem
server 10.8.0.0 255.255.255.0
#ifconfig 10.8.0.1 255.255.255.0
ifconfig-pool-persist /var/log/openvpn/ipp.txt
client-config-dir ccd
;push "route 192.168.1.0 255.255.255.0"
;push "route 10.8.0.0 255.255.255.0"
;push "route 192.168.2.0 255.255.255.0"
;route 192.168.2.0 255.255.255.0
client-to-client
push "route 192.168.1.0 255.255.255.0"
push "route 10.8.0.0 255.255.255.0"
push "route 192.168.2.0 255.255.255.0"
route 192.168.2.0 255.255.255.0
keepalive 10 120
tls-auth ta.key 0 # This file is secret
cipher AES-256-CBC
status /var/log/openvpn/openvpn-status.log
verb 3
ccd 配置
ifconfig-push 10.8.0.10 255.255.255.0
iroute 192.168.2.0 255.255.255.0
我尝试了不同的配置变体。
编辑:2024-03-09
从 PC1 级别 (192.168.1.120),我能够在浏览器中显示来自 10.8.0.1 的服务,但无法显示来自 10.8.0.10 或 192.168.2.20 的服务。从 vm windows 10 (192.168.2.22),我能够显示来自地址 192.168.1.112 的服务。客户端的 LAN 可以看到 openvpn 服务器的 LAN,就好像服务器的 LAN 看不到客户端的 LAN 一样。
编辑 2024-03-10
不知道这是否重要,但 tun0 网络的客户端是来自同一 LAN 的另一台主机。主机 IP 是 192.168.2.115。它不在图中
编辑:2024-03-11
在 iptables 中添加相应规则后,我的 openVPN 服务器(10.8.0.1 或 192.168.1.112)现在可以 ping 通客户端的 LAN 机器,并在浏览器中显示程序(例如 Webmin)。不幸的是,从服务器端的 LAN 级别(例如 PC1 192.168.2.120)我无法 ping 通客户端 LAN 端的机器(例如 Webadmin 不起作用)。
编辑日期 2024-03-12
成功了。我终于成功建立了 LAN 到 LAN 的连接。解决方案是在 OpenVPN 服务器上执行以下命令。
iptables -t nat -A POSTROUTING -o enp2s0 -j MASQUERADE
iptables -A INPUT -i tun0 -j ACCEPT
iptables -A FORWARD -i tun0 -o enp2s0 -J ACCEPT
iptables -A FORWARD -i tun0 -o enp2s0 -j ACCEPT
iptables -A FORWARD -i enp2s0 -o tun0 -j ACCEPT