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

Не работает рутинг через VPN

 , ,


0

1

Всем привет,

Пытаюсь организовать доступ в интернет как на картинке: https://imgur.com/a/m36vIK4

Если вкратце:

  • vpn-spb-01 – OpenConnect сервер.
  • cli-mad-01 – клиент находящийся за границей.
  • Client – обычный клиент
  • cli-mad-01 подключается к vpn-spb 01
  • Client может пинговать cli-mad-01 по внутреннему адресу 10.66.78.2
  • доступ от Client в Интернет должен быть реализован по красным стрелкам.

Каким образом организуется доступ:

  1. Выставляю переменные sysctl:
net.ipv4.ip_forward = 1
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr

net.ipv4.conf.default.rp_filter = 2
net.ipv4.conf.all.rp_filter = 2
  1. В файле /etc/iproute2/rt_tables создаю таблицу:
1       vpn_mad_01
  1. Добавляю шлюз по умолчанию и прописываю чтобы пакеты с меткой 1 отправлялись в таблицу vpn_mad_01.
sudo ip route add default via 10.66.78.2 dev vpn1 table 1
sudo ip rule add from all fwmark 1 table 1
sudo ip route flush cache
  1. Собственно маркирую пакеты:
sudo iptables -A PREROUTING -t mangle -s 10.66.78.100 -j MARK --set-mark 1
  1. Также прописываю MASQUERADE:
sudo iptables -t nat -A POSTROUTING -o vpn1 -j MASQUERADE

И… ничего не работает, у Client полностью пропадает интернет. Не подскажете в чем ошибка?

Заранее благодарю.


Ответ на: комментарий от tyamur

tcpdump-ом посмотри что уходит что приходит

Спасибо, заработало. Выяснилось что на cli-mad-01 у таблицы FORWARD было прописана политика DROP.

Исправил путем добавления на cli-mad-01:

-A FORWARD -i tun0 -j ACCEPT
-A FORWARD -o tun0 -j ACCEPT


-t nat -A POSTROUTING -o eth0 -j MASQUERADE
alex07
() автор топика
Последнее исправление: alex07 (всего исправлений: 1)