我已经设置了一个有线连接,但我在路由方面有一些问题。我有两个地点,有线计算机建立VPN是背后的互联网供应商的路由器。我可以在一个或另一个地方。这意味着,为了设置VPN,我需要远程访问另一个站点。虚拟专用网的成功建立,并打破了它。因为我不能登录到远程位置,所以我不能再次设置它。我得等着去别的地方。由于下面描述的一个问题,我无法登录到一个遥远的位置。
我已经设置了对这些计算机的远程SSH访问,所以我可以通过互联网通过进入路由器的NAT来访问它们。我登录到路由器地址,路由器将SSH转发到内部地址,SSH访问很好,但是有一个陷阱。
一旦我打开wg0接口并尝试建立虚拟专用网,SSH访问就不再工作了。我分析了交通情况,然后发生了以下情况。当我启动SSH时,路由器转发它,有线计算机在eth0接口上接收D2数据包。但是,SYN, ACK数据包不是通过eth0发送回来的,而是在wg0处于活动状态时通过wg0接口发送的。没有wg0接口,SSH可以很好地工作。SSH还可以在本地网络192.168.1.0/24中工作,而不管wg0接口如何。
如何保持我的SSH连接和同时使用有线VPN连接?我在那台计算机上有另一个接口lan0,它现在没有连接。我是否也应该将lan0连接到内部网,并将其用于SSH?我想lan0接口的问题仍然存在,因为它将连接到与eth0相同的网络。
以下是关于连接、路由等的一些附加信息。
Without wg0接口:
wg-quick down wg0输出:
[#] ip -4 rule delete table 51820
[#] ip -4 rule delete table main suppress_prefixlength 0
[#] ip link delete dev wg0
[#] nft -f /dev/fd/63ip -4附加件:
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 8e:b7:6b:c9:08:7d brd ff:ff:ff:ff:ff:ff
inet 192.168.1.250/24 brd 192.168.1.255 scope global dynamic noprefixroute eth0
valid_lft 84256sec preferred_lft 84256sec
3: lan0: mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
link/ether 8e:b7:6b:c9:08:9d brd ff:ff:ff:ff:ff:ffip路由:
default via 192.168.1.1 dev eth0
default via 192.168.1.1 dev eth0 proto dhcp metric 100
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.250 metric 100知识产权规则:
0: from all lookup local
32766: from all lookup main
32767: from all lookup defaultWith wg0接口:
wg-quick up wg0输出:
[#] ip link add wg0 type wireguard
[#] wg setconf wg0 /dev/fd/63
[#] ip -4 address add 10.0.0.2/24 dev wg0
[#] ip link set mtu 1420 up dev wg0
[#] wg set wg0 fwmark 51820
[#] ip -4 route add 0.0.0.0/0 dev wg0 table 51820
[#] ip -4 rule add not fwmark 51820 table 51820
[#] ip -4 rule add table main suppress_prefixlength 0
[#] sysctl -q net.ipv4.conf.all.src_valid_mark=1
[#] nft -f /dev/fd/63ip -4附加件:
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 8e:b7:6b:c9:08:7d brd ff:ff:ff:ff:ff:ff
inet 192.168.1.250/24 brd 192.168.1.255 scope global dynamic noprefixroute eth0
valid_lft 84320sec preferred_lft 84320sec
3: lan0: mtu 1500 qdisc fq_codel state DOWN group
default qlen 1000
link/ether 8e:b7:6b:c9:08:9d brd ff:ff:ff:ff:ff:ff
14: wg0: mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000
link/none
inet 10.0.0.2/24 scope global wg0
valid_lft forever preferred_lft foreverip路由:
default via 192.168.1.1 dev eth0
default via 192.168.1.1 dev eth0 proto dhcp metric 100
10.0.0.0/24 dev wg0 proto kernel scope link src 10.0.0.2
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.250 metric 100 知识产权规则:
0: from all lookup local
32764: from all lookup main suppress_prefixlength 0
32765: not from all fwmark 0xca6c lookup 51820
32766: from all lookup main
32767: from all lookup default更新:经过更多的测试后,我发现wg-快速设置了一些ip路由和规则。我怀疑这些干扰了SSH的连接。如果我尝试下面的命令,SSH仍然有效。
ip link add dev wg0 type wireguard
ip address add dev wg0 10.0.0.2/24
wg set wg0 private-key /root/wgprivate.key
wg set wg0 listen-port 37723
ip link set wg0 up
wg set wg0 peer allowed-ips 0.0.0.0/0 persistent-keepalive 25 endpoint :由于我无法访问远程网站直到周末,我将试图找出,哪些命令在wg-快速原因的不稳定的行为。当我将访问远程站点,我将再次建立VPN没有wg-快速.我以前已经做过了,但想用wg- that实现自动化。
发布于 2020-11-20 08:32:32
经过一些研究,我发现我不想要建立连接后wg- want所做的路由。所以,解决方案很简单。放一条线
Table = off在[Interface]区。这指示wg-快速不制定ip规则和路由。
发布于 2020-11-03 13:31:52
看一看这里,但是让它简单地总结一下您的问题:
您可以使用iptables将包标记为目标端口22。
iptables -t mangle -A PREROUTING -i eth0 -p tcp -m tcp --dport 22 -j MARK --set-mark 22因此,您可以插入一个高优先级规则来通过eth0路由这些包。
ip rule add priority 32000 fwmark 22 table 22
ip route flush table 22
ip route add table 22 default dev eth0还没有测试过它,一个可能的副作用可能是您不再能够通过VPN连接端口22。
https://unix.stackexchange.com/questions/607313
复制相似问题