169 похожих чатов

Ребят, а кто-нить делал шлюз, уводящий выборочный трафик в VPN? Я

вот чет пытаюсь и не получается, выходит примерно такое:

Имеем:
машину А (192.168.0.183)
машину Б (192.168.0.182)

-----
На машине Б ставим ip_forward, проверяем:

182:$ sudo sysctl -p
net.ipv4.ip_forward = 1
net.ipv6.conf.all.forwarding = 1

182:$ curl ifconfig.me/ip
>> поулучаем реальный IP

это ОК;

-----
На машине А делаем:

183:$ curl ifconfig.me/ip
>> поулучаем реальный IP

Все ОК;


--
Роутим ifconfig.me на машину Б:

183:$ dig A +short ifconfig.me
34.160.111.145

183:$ sudo ip route add 34.160.111.145 via 192.168.0.182

183:$ ip r
default via 192.168.0.1 dev enp0s3 proto static
34.160.111.145 via 192.168.0.182 dev enp0s3
192.168.0.0/24 dev enp0s3 proto kernel scope link src 192.168.0.183

183:$ curl ifconfig.me/ip
>> поулучаем реальный IP

Пока все ОК;

183:$ traceroute ifconfig.me
traceroute to ifconfig.me (34.160.111.145), 30 hops max, 60 byte packets
1 192.168.0.182 (192.168.0.182) 0.397 ms 0.221 ms 0.258 ms
2 _gateway (192.168.0.1) 0.673 ms 0.540 ms 0.527 ms
3 95.31.0.1 (95.31.0.1) 7.159 ms 7.020 ms 6.848 ms
4 95.31.0.1 (95.31.0.1) 6.703 ms 6.662 ms 6.502 ms

... и так далее, тоже ОК;

-----
Теперь запускаем на машине Б VPN:

182:$ sudo wg-quick up pq1
[#] ip link add pq1 type wireguard
[#] wg setconf pq1 /dev/fd/63
[#] ip -4 address add 10.78.0.73/23 dev pq1
[#] ip link set mtu 1420 up dev pq1
[#] resolvconf -a pq1 -m 0 -x
[#] wg set pq1 fwmark 51820
[#] ip -6 rule add not fwmark 51820 table 51820
[#] ip -6 rule add table main suppress_prefixlength 0
[#] ip -6 route add ::/0 dev pq1 table 51820
[#] nft -f /dev/fd/63
[#] ip -4 rule add not fwmark 51820 table 51820
[#] ip -4 rule add table main suppress_prefixlength 0
[#] ip -4 route add 0.0.0.0/0 dev pq1 table 51820
[#] sysctl -q net.ipv4.conf.all.src_valid_mark=1
[#] nft -f /dev/fd/63

Проверяем там же ifconfig.me/ip:

182:$ curl ifconfig.me/ip
45.150.65.195

Идёт через VPN - отлично;

----
Возвращаемся на машину А:

183:$ traceroute ifconfig.me
traceroute to ifconfig.me (34.160.111.145), 30 hops max, 60 byte packets
1 192.168.0.182 (192.168.0.182) 0.251 ms 0.247 ms 0.240 ms
2 * * *
3 * * *
4 * * *
5 * * *

и т.д. - короче, не роутится никак;

183:$ curl ifconfig.me/ip -v --ipv4
* Trying 34.160.111.145:80...

... висим и отваливаемся по таймауту в итоге.

Отключаем на машине Б VPN и роут начинает работать, естествено без VPN.

Вопрос: как сделать, чтобы в VPN таки роутилось?

1 ответов

77 просмотров

чего-то ты перемудрил как-то ...

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта