Как заставить трафик SSH проходить через вторую таблицу маршрутизации
Я в основном пытаюсь подключить SSH к RPi, который всегда подключен к VPN, что делает сбой SSH. Я получил несколько идей о том, как решить проблему, и лучшее ИМХО - заставить SSH-трафик проходить через 2-ю таблицу маршрутизации.
Проблема в том, что это довольно сложно для такого нуба, как я. Поэтому мне было интересно, смогу ли я получить некоторые указатели, чтобы начать, так как я полностью потерян. Особенно о том, как маркировать трафик SSH, чтобы пройти через 2-ю таблицу.
Спасибо
-a
РЕДАКТИРОВАТЬ: Еще раз спасибо за ответ Мариус. Наконец-то я нашел время поработать над этим, и вот что я сделал.
- sudo modprobe ip_conntrack
- sudo iptables -A INPUT -m состояние --state NEW -p tcp --dport 22 -j CONNMARK --set-mark 1
- тогда как корень:
- echo 200 hma >> / etc / iproute2 / rt_tables
- ip route add 10.0.1.0/24 dev eth0 таблица hma
- ip rule добавить fwmark 1 таблица hma
но это не похоже на работу. Поскольку я действительно не уверен, что делать, это не удивительно.
В частности, я действительно не уверен насчет 2) и 4). 2) правильно ли вообще? И для 4), где я могу найти правильный IP для добавления, что означает / 24, и должен ли он пройти через eth0 (мой vpn, по-видимому, tun0)?
еще раз спасибо
EDIT2: после перезагрузки я фактически потерял SSH доступ к пи:(
1 ответ
На самом деле это очень просто, к счастью для всех нас: позвольте мне назвать IP2 IP-адрес локального хоста во второй таблице маршрутизации. Тогда все, что вам нужно сделать, это:
ssh -b IP2 me@some_remote_machine
-b
опция указывает SSH bind
(т. е. использовать в качестве адреса источника) для IP-адреса IP2. Если вы уже настроили вторую таблицу маршрутизации, с правилом вроде
ip rule from IP2 table2
где table2 - вторая таблица маршрутизации, вы можете пойти.