![如何通过我的 VPN 连接发送一些流量](https://linux22.com/image/1354715/%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%E6%88%91%E7%9A%84%20VPN%20%E8%BF%9E%E6%8E%A5%E5%8F%91%E9%80%81%E4%B8%80%E4%BA%9B%E6%B5%81%E9%87%8F.png)
我有一个工作设置,我可以访问我所有的工作资源,这些资源以前是通过我的服务器通过 VPN 访问的,但是最近某个时候,它停止了工作,但没有明显的原因。
桌面 – 服务器 – (vpn) – 工作
目前我有以下路由表:
桌面:
内核 IP 路由表 目标网关 Genmask 标志 指标参考使用 Iface 0.0.0.0 192.168.1.100 0.0.0.0 UG 2 0 0 eth0 10.2.1.0 192.168.1.10 255.255.255.0 UG 2 0 0 eth0 10.103.1.0 192.168.1.10 255.255.255.0 UG 2 0 0 eth0 127.0.0.0 127.0.0.1 255.0.0.0 UG 0 0 0 lo 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
服务器:
内核 IP 路由表 目标网关 Genmask 标志 指标参考使用 Iface 0.0.0.0 192.168.1.100 0.0.0.0 UG 2 0 0 eth0 10.2.1.0 192.168.213.85 255.255.255.0 UG 0 0 0 tun0 ... 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.213.0 192.168.213.85 255.255.255.0 UG 0 0 0 tun0 192.168.213.85 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
我忘记了盒子的IP:
服务器:
eth0:标志=4163 mtu 1500 inet 192.168.1.10 网络掩码 255.255.255.0 广播 192.168.1.255 inet6 fe80::4a5b:39ff:fed9:821b 前缀长度 64 范围 ID 0x20 ether 48:5b:39:d9:82:1b txqueuelen 1000(以太网) RX 数据包 189718543 字节 130295498473 (121.3 GiB) tun0:标志=4305 mtu 1500 inet 192.168.213.86 网络掩码 255.255.255.255 目标 192.168.213.85 未指定 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 100(未指定)
桌面:
eth0:标志=4163 mtu 1500 inet 192.168.1.12 网络掩码 255.255.255.0 广播 192.168.2.255
工作:
10.2.1.134
当前 IPTables 规则:
# 由 iptables-save v1.4.16.3 于 2013 年 3 月 11 日星期一 15:46:11 生成 *自然 :预路由接受 [1499:134874] :输入接受 [1499:134874] :输出接受 [1088:107916] :后路由接受 [1088:107916] 犯罪 # 于 2013 年 3 月 11 日星期一 15:46:11 完成 # 由 iptables-save v1.4.16.3 于 2013 年 3 月 11 日星期一 15:46:11 生成 *弄脏 :路由前接受 [1680356:728348964] :输入接受 [1680356:728348964] :转发接受 [0:0] :输出接受 [1399840:350789030] :POSTROUTING 接受 [1400230:350882435] 犯罪 # 于 2013 年 3 月 11 日星期一 15:46:11 完成 # 由 iptables-save v1.4.16.3 于 2013 年 3 月 11 日星期一 15:46:11 生成 *筛选 :输入接受 [363:36065] :转发接受 [0:0] :输出接受 [1399845:350789898] :fail2ban-Apache - [0:0] :fail2ban-SSH-[0:0] -A 输入-p tcp -m tcp --dport 80 -j fail2ban-Apache -A 输入-p tcp -m tcp --dport 1985 -j fail2ban-SSH -A 输入 -m conntrack --ctstate 相关,已建立 -j 接受 -A 输入 -s 192.168.1.0/24 -j 接受 -A 输入-p tcp -m tcp --dport 60151:60161 -j 接受 -A 输入-p udp-m udp --dport 6889-j 接受 -A 转发 -i tun0 -o eth0 -m conntrack --ctstate 相关,已建立 -j 接受 -A 转发 -i eth0 -o tun0 -j 接受 -A fail2ban-Apache -j 返回 -A fail2ban-SSH -j 返回 犯罪 # 于 2013 年 3 月 11 日星期一 15:46:11 完成
如您所见,我已将路由规则添加到桌面,以允许它将流量推送到指定网络的服务器。工作在 10.2.1.0/24 上(忽略其他,它们现在只是不重要网络的额外部分)。
我思考我之前可能有一个 iptables 规则,它对流量产生了一些影响,但是在断电期间它丢失了,现在无法弄清楚我之前做了什么让它正常工作。
答案1
我认为服务器的路由表有错误。
隧道接口(VPN 连接)列为 192.168.213.86,远程点为 192.168.213.85。然而在路由表中,您有
192.168.213.0 192.168.213.85 255.255.255.0 UG 0 0 0 tun0
192.168.213.85 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
0.0.0.0 192.168.1.100 0.0.0.0 UG 2 0 0 eth0
问题在于通过 192.168.1.100 到达 192.168.213.85。您需要删除中间表条目。而是通过本地 tun 接口路由到远程端。如果我没记错的话,正确的语法应该是:
route del -host 192.168.213.85 gw 0.0.0.0
route add -host 129.168.213.85 gw 192.168.213.86
答案2
最后我重新启动了它,它又可以正常工作了。
似乎是某个奇怪的错误,与断电或我从休眠状态恢复有关。无论哪种情况,包括路由表和 IPTables 在内的所有详细信息在重启前后都是相同的。
很烦人,但遗憾的是,它已经修复。