我家的拓扑:
router1 (192.168.1.1) - D-Link dsl2540u 服务器,具有可从互联网获取的静态 IP(通过 ppoe 的 ADSL)。 4 个 LAN 端口。
router2 (192.168.1.2) - 带 OpenWRT 的 D-Link DIR-300。扮演 WiFi 接入点的角色。 4个LAN口+WAN口。
家用电脑(通过 DHCP 连接到 router1) | 互联网------路由器1----- | router2(OpenWRT 上的 OpenVPN 服务器)
在 router1 上,我设置了 NAT 虚拟服务器,并且可以通过 SSH 或 OpenVPN(443 端口上的 tcp)连接到我的路由器
OpenVPN 服务器工作正常,连接后所有流量都通过 tun 接口。
OpenVPN 服务器配置(如果有的话):
--脚本安全2 模式服务器 开发屯 端口 443 原始 TCP 服务器 10.0.0.0 255.255.255.0 推“重定向网关 def1” push "dhcp-option DNS 192.168.1.1" # 将其更改为路由器的 LAN IP 地址 Push "route 192.168.1.0 255.255.255.0" # 将其更改为您的网络 客户端配置目录 ccd 客户对客户 tls 服务器 dh /etc/openvpn/dh2048.pem ca /etc/openvpn/CA_cert.pem 证书 /etc/openvpn/certs/server.pem 密钥 /etc/openvpn/keys/server.pem crl-验证 /etc/openvpn/crl/crl.pem tls-auth /etc/openvpn/ta.key 0 #comp-lzo 保持活动 10 120 屯-MTU 1500 修复1450 持久键 坚持-tun 动词3 记录 /var/log/openvpn.log
我的目标是通过我的家庭路由器 1 与互联网建立 OpenVPN 隧道。现在我可以连接到 OpenVPN 服务器,但所有通过隧道的流量都不会到达互联网。
router2 (OpenWRT) 上的防火墙规则:
iptables -t nat -A prerouting_wan -p tcp --dport 443 -j 接受 iptables -A input_wan -p tcp --dport 443 -j 接受 iptables -t nat -A prerouting_lan -p tcp --dport 443 -j 接受 iptables -A input_lan -p tcp --dport 443 -j 接受 iptables -I 输入 -i tun+ -j 接受 iptables -I 转发 -i tun+ -j 接受 iptables -I 输出 -o tun+ -j 接受 iptables -I 转发 -o tun+ -j 接受
这肯定是路由问题,但我没有足够的知识来解决它。
答案1
您必须将路由到网关 192.168.1.2 的 10.0.0.0/24 网络添加为 router1 上的静态路由。这与 NAT 无关。