如何通过我的VPN连接发送一些流量


3

我有一个工作设置,我可以访问我之前通过我的服务器通过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:flags = 4163 mtu 1500
        inet 192.168.1.10 netmask 255.255.255.0 broadcast 192.168.1.255
        inet6 fe80 :: 4a5b:39ff:fed9:821b prefixlen 64 scopeid 0x20
        ether 48:5b:39:d9:82:1b txqueuelen 1000(以太网)
        RX包189718543字节130295498473(121.3 GiB)


tun0:flags = 4305 mtu 1500
        inet 192.168.213.86 netmask 255.255.255.255 destination 192.168.213.85
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 100(UNSPEC)

桌面:

eth0:flags = 4163 mtu 1500
        inet 192.168.1.12 netmask 255.255.255.0 broadcast 192.168.2.255

工作:

10.2.1.134

目前的IPTables规则:

#由2013年3月11日星期一15:46:11 iptables-save v1.4.16.3生成
* NAT
:PREROUTING ACCEPT [1499:134874]
:INPUT ACCEPT [1499:134874]
:OUTPUT ACCEPT [1088:107916]
:POSTROUTING ACCEPT [1088:107916]
承诺
#在2013年3月11日星期一15:46:11完成
#由2013年3月11日星期一15:46:11 iptables-save v1.4.16.3生成
*撕裂
:PREROUTING ACCEPT [1680356:728348964]
:INPUT ACCEPT [1680356:728348964]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1399840:350789030]
:POSTROUTING ACCEPT [1400230:350882435]
承诺
#在2013年3月11日星期一15:46:11完成
#由2013年3月11日星期一15:46:11 iptables-save v1.4.16.3生成
*过滤
:INPUT ACCEPT [363:36065]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1399845:350789898]
:fail2ban-Apache  -  [0:0]
:fail2ban-SSH  -  [0:0]
-A INPUT -p tcp -m tcp --dport 80 -j fail2ban-Apache
-A INPUT -p tcp -m tcp --dport 1985 -j fail2ban-SSH
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 192.168.1.0/24 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 60151:60161 -j ACCEPT
-A INPUT -p udp -m udp --dport 6889 -j ACCEPT
-A FORWARD -i tun0 -o eth0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i eth0 -o tun0 -j ACCEPT
-A fail2ban-Apache -j RETURN
-A fail2ban-SSH -j RETURN
承诺
#在2013年3月11日星期一15:46:11完成

如您所见,我已将路由规则添加到桌面,以允许它将流量推送到指定网络的服务器。工作在10.2.1.0/24(忽略其他人,他们现在只是非重要网络的额外部分)。

我以前可能有一个iptables规则,它正在为流量做点什么,但是我在断电期间失去了它(doh!),现在无法弄清楚我之前做了什么让它工作。


route并且ifconfig在Linux上被弃用,使用ip routeip addr不是。ip route显示更多信息route,包括可以在工作网络和破碎网络之间产生差异的项目(例如首选源地址),并且还提供ip route get,这对于调试路由问题非常方便
BatchyX 2013年

Answers:


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

据我了解,第二行显示192.168.213.85通过tun0直接连接,并且没有网关连接到该主机(hense the H)。此外,此路由表位于服务器上。服务器上的连接有效。这是从我的桌面连接失败(只有路由到10.2.1.0/24和10.103.1.0/24。
djsmiley2k

2

最后我重新启动,它再次工作。

似乎是一个奇怪的错误,与我们有一个电源或我从休眠状态恢复的事实有关。无论哪种方式,包括路由表和IPTable在内的所有细节在重启之前和之后都是不同的。

很烦人,但唉,这是固定的。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.