
Я в основном пытаюсь подключиться по SSH к RPi, который всегда подключен к VPN, из-за чего SSH не работает. Яполученныйнесколько идей, как решить эту проблему, и, на мой взгляд, лучшим решением будет заставить SSH-трафик проходить через вторую таблицу маршрутизации.
Проблема в том, что это довольно сложно для такого сетевого новичка, как я. Поэтому я задавался вопросом, могу ли я получить некоторые указания, чтобы начать, так как я полностью запутался. Особенно в том, как пометить трафик SSH, чтобы он прошел через 2-ю таблицу.
Спасибо
-а
EDIT: Спасибо еще раз за ответ, Мариус. Я наконец нашел время поработать над этим, и вот что я сделал.
- sudo modprobe ip_conntrack
- sudo iptables -A ВХОД -m state --state НОВЫЙ -p tcp --dport 22 -j CONNMARK --set-mark 1
- затем как root:
- эхо 200 hma >> /etc/iproute2/rt_tables
- добавить маршрут ip 10.0.1.0/24 dev eth0 таблица hma
- правило 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 — вторая таблица маршрутизации, все готово.