LINUX.ORG.RU
решено ФорумAdmin

Настройка SoftEtherVPN для обхода блокировок

 softethervpn,


1

1

Поскольку провайдеры начали блокировать Wireguard, пытаюсь освоить SoftEther. Настроил сервер, включил SecureNat, подключился клиентом, получил IP по DHCP. Сервер пингуется, всё хорошо. Как мне теперь завернуть на клиенте весь траффик в туннель? Таблица маршрутов сейчас выглядит вот так:

default via 192.168.1.1 dev enp6s0 proto dhcp src 192.168.1.100 metric 100 
default via 192.168.30.1 dev vpn_liberty proto dhcp src 192.168.30.100 metric 1008 
10.0.0.0/24 dev wg0 proto static scope link metric 50 
192.168.1.0/24 dev enp6s0 proto kernel scope link src 192.168.1.100 metric 100 
192.168.30.0/24 dev vpn_liberty proto dhcp scope link src 192.168.30.100 metric 1008 

Если поставить для маршрута через 192.168.30.1 метрику ниже, чем через 192.168.1.1, то траффик никуда не идёт. Если оставить всё как есть, то внешний траффик идёт в обход туннеля.

★★★★★

Последнее исправление: Axon (всего исправлений: 1)
Ответ на: комментарий от ox55ff

И, да, пользователи жалуются, что соединение устанавливается, но через какое-то время по нему перестаёт ходить траффик. В результате девайс молча оказывается в оффлайне.

Axon ★★★★★
() автор топика

До сервера - роут через внешний интерфейс с минимальной метрикой.

Потом берешь 0/0, делишь на максимально возможные подсетки (e.g.: 0.0.0.0/5, 8.0.0.0/7, 11.0.0.0/8 ... ) и делаешь для них роуты через интерфейс впна :crazy:

slowpony ★★★★★
()
Ответ на: комментарий от Axon

Ты вообще адекватный? Как я должен был догадаться, что у тебя андроид?

Если бы ты читал по ссылке, которую я тебе дал, то увидел бы сообщение про ios.

Привет. WG работает с пингом на теле2, спасибо! На iOS ставил для пинга SocketTool и UDP/tcp/rest network utility. Любая из них работает.

Если на нём работает, то на андроиде тоже можно что-нибудь найти.

Разбирайся дальше сам.

ox55ff ★★★★★
()

Если поставить для маршрута через 192.168.30.1 метрику ниже, чем через 192.168.1.1, то траффик никуда не идёт.

Не знаю что такое SoftEther, но я протру хрустальный шар и предположу, что у тебя не хватает маршрута чтоб твой VPN клиент подключился к серверу через реальный сетевой интерфейс, а не через открывающиеся тоннель. Устанавливая новый default ты делаешь невозможным передачу пакетов между клиентом VPN и сервером.
Тебе нужно сделать так чтоб соединение конкретно с VPN сервером шло через обычный сетевой интерфейс (не через VPN тоннель).

Допустим у тебя VPN сервер находится на IP 246.178.45.22, а 192.168.1.1 это твой домашний роутер, то нужен маршрут: ip r add 246.178.45.22 via 192.168.1.1

Aber ★★★★★
()
Последнее исправление: Aber (всего исправлений: 1)

В принципе Softether можно настроить двумя способами. Первый самый простой, это когда Вы позволяете серверу все делать самому. Передача пакетов, маршрутизация, и пр. все делает сам Sohtether. Для этого в настройках виртуального хаба включается virtual Nat ну и если надо Secure Nat. Больше ничего настраивать не нужно, никакие local bridge при этом не нужны. Второй способ, это когда Вы сами решаете как нужно строить маршрутизацию. Тогда в настройках виртуального хаба должны быть отключены и secure nat и virtual nat и при этом создан для этого хаба local local bridge. Все остальное уже настраивается средствами операционки, iptables, dhcp server ну и тд. Вы в начале написали, что включили secure nat, но при этом в таблице маршрутизации видно 192.168.30.0/24 dev vpn_liberty. Это похоже на local bridge или нет? Если так, просто его удалите. Не нужно никак модифицировать таблицу, что бы заработал Softether с включеным Virtual Nat и SecureNat

looper
()