Я хочу выполнять исходящие запросы через Wireguard, в то же время предоставляя веб-сервисы на одном сервере. Это означает, что если есть запрос, достигающий ens3, ответ вернется таким же образом. Но если я сделаю запрос на сервере, он пройдет через Wireguard.
Ниже мой файл wg0.conf, я больше ничего не делал, просто установил чистый vultr vps Wireguard, затем используйте wg-qucik up wg0
чтобы запустить Wireguard, но я потеряю соединение ssh и мне придется перезапустить сервер.
сеть перед запуском защиты от проводов.
[Interface]
PrivateKey = =====================================
Address = 172.16.0.2
DNS = 1.1.1.1
Table = off
PostUp = iptables -t mangle -A PREROUTING -i ens3 -j MARK --set-mark 51820
PostUp = iptables -t mangle -A PREROUTING -i ens3 -j CONNMARK --save-mark
PostUp = iptables -t mangle -A OUTPUT -j CONNMARK --restore-mark
PostUp = wg set wg0 fwmark 51820
PostUp = ip -4 route add 0.0.0.0/0 dev wg0 table 51820
PostUp = ip -4 rule add not fwmark 51820 table 51820
PostUp = ip -4 rule add table main suppress_prefixlength 0
PostUp = sysctl -q net.ipv4.conf.all.src_valid_mark=1
PostDown = iptables -t mangle -D PREROUTING -i ens3 -j MARK --set-mark 51820
PostDown = iptables -t mangle -D PREROUTING -i ens3 -j CONNMARK --save-mark
PostDown = iptables -t mangle -D OUTPUT -j CONNMARK --restore-mark
PostDown = ip -4 rule del not fwmark 51820 table 51820
PostDown = ip -4 rule del table main suppress_prefixlength 0
[Peer]
PublicKey = ====================================
Endpoint = 111.111.111.111:1111
AllowedIPs = 0.0.0.0/0
сеть до начала защиты от проводов, не может обеспечить ip route show table 51820
информация из-за потери ssh-соединения
root@vultr:~# ip -br link
lo UNKNOWN 00:00:00:00:00:00 <LOOPBACK,UP,LOWER_UP>
ens3 UP 56:00:02:a2:21:7b <BROADCAST,MULTICAST,UP,LOWER_UP>
root@vultr:~# ip -br address
lo UNKNOWN 127.0.0.1/8 ::1/128
ens3 UP 139.180.155.252/23 fe80::5400:2ff:fea2:217b/64
root@vultr:~# ip rule
0: from all lookup local
32766: from all lookup main
32767: from all lookup default
root@vultr:~# ip route
default via 139.180.154.1 dev ens3 proto dhcp src 139.180.155.252 metric 100
139.180.154.0/23 dev ens3 proto kernel scope link src 139.180.155.252
169.254.169.254 via 139.180.154.1 dev ens3 proto dhcp src 139.180.155.252 metric 100
Локальный тест vm после запуска Wireguard
root@Ubuntu:/etc/wireguard# ip -br link
lo UNKNOWN 00:00:00:00:00:00 <LOOPBACK,UP,LOWER_UP>
enp0s5 UP 00:1c:42:33:19:d9 <BROADCAST,MULTICAST,UP,LOWER_UP>
wg0 UNKNOWN <POINTOPOINT,NOARP,UP,LOWER_UP>
root@Ubuntu:/etc/wireguard# ip -br address
lo UNKNOWN 127.0.0.1/8
enp0s5 UP 192.168.123.6/24
wg0 UNKNOWN 172.16.0.2/32
root@Ubuntu:/etc/wireguard# ip rule
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
root@Ubuntu:/etc/wireguard# ip route
default via 192.168.123.1 dev enp0s5 proto dhcp metric 20100
169.254.0.0/16 dev enp0s5 scope link metric 1000
192.168.123.0/24 dev enp0s5 proto kernel scope link src 192.168.123.6 metric 100
root@Ubuntu:/etc/wireguard# ip route show table 51820
default dev wg0 scope link