Как заставить SSH-трафик проходить через вторую таблицу маршрутизации

Как заставить SSH-трафик проходить через вторую таблицу маршрутизации

Я в основном пытаюсь подключиться по SSH к RPi, который всегда подключен к VPN, из-за чего SSH не работает. Яполученныйнесколько идей, как решить эту проблему, и, на мой взгляд, лучшим решением будет заставить SSH-трафик проходить через вторую таблицу маршрутизации.

Проблема в том, что это довольно сложно для такого сетевого новичка, как я. Поэтому я задавался вопросом, могу ли я получить некоторые указания, чтобы начать, так как я полностью запутался. Особенно в том, как пометить трафик SSH, чтобы он прошел через 2-ю таблицу.

Спасибо

EDIT: Спасибо еще раз за ответ, Мариус. Я наконец нашел время поработать над этим, и вот что я сделал.

  1. sudo modprobe ip_conntrack
  2. sudo iptables -A ВХОД -m state --state НОВЫЙ -p tcp --dport 22 -j CONNMARK --set-mark 1
  3. затем как root:
  4. эхо 200 hma >> /etc/iproute2/rt_tables
  5. добавить маршрут ip 10.0.1.0/24 dev eth0 таблица hma
  6. правило ip добавить fwmark 1 таблица hma

но, похоже, это не работает. Поскольку я действительно не уверен, что делать, это не является сюрпризом.

А точнее, я совсем не уверен насчет 2) и 4). Правилен ли вообще 2)? А насчет 4), где мне найти правильный IP для добавления, что означает /24 и должен ли он проходить через eth0 (мой vpn, похоже, tun0)?

еще раз спасибо

EDIT2: После перезагрузки я фактически потерял SSH-доступ к pi :(

решение1

На самом деле, к счастью для всех нас, это очень просто: давайте назовем IP2 IP-адресом локального хоста во второй таблице маршрутизации. Тогда все, что вам нужно сделать, это:

      ssh -b IP2 me@some_remote_machine 

Опция -bуказывает ssh bind(то есть, использовать как исходный адрес) на IP-адрес IP2. Если вы уже настроили вторую таблицу маршрутизации, с правилом типа

      ip rule from IP2 table2

где table2 — вторая таблица маршрутизации, все готово.

Связанный контент