В настоящее время я работаю в компании, и проблема в том, что они разрешают SSH по Wi-Fi, но не по своей проводной сети. На данный момент я проталкиваю все через vpn, но это приводит к издержкам в и без того медленной сети.
Мне было интересно, как я мог заставить весь свой трафик проходить через мой eth0, но заставить мое ssh-соединение использовать wlan0 вместо eth0.
Важно, чтобы весь остальной трафик проходил через eth0, так как Wi-Fi здесь очень медленный, но достаточно быстрый для простой оболочки.
Установите eth0
в качестве маршрута по умолчанию, настройте альтернативный маршрут через wlan0
и настройте трафик ssh для прохождения альтернативного маршрута.
Установите пакет iproute
для управления таблицами маршрутизации с помощью команды ip
. Отметьте исходящие пакеты, которые вы хотите перенаправить, и настройте правило маршрутизации для маршрутизации этих пакетов через другой интерфейс. Не проверено:
iptables -t mangle -A OUTPUT -p tcp --dport ssh -o eth0 -j MARK --set-mark 1
ip rule add fwmark 1 table 1
ip route add 0.0.0.0/0 table 1 dev wlan0
Это несколько сложно. Вам нужно будет создать альтернативную таблицу маршрутизации, использовать iptables для маркировки пакета и добавить правило маршрутизации, чтобы заставить ядро использовать альтернативную таблицу маршрутизации при маркировке пакета.
У вас есть хороший учебник для более сложной настройки здесь .
Вы хотите, чтобы это использовалось только на вашем компьютере, или вы хотите маршрутизировать весь трафик в вашей сети таким образом? Если у вас есть, у вас есть и настроены интерфейсы eth0 и wlan0 для доступа к вашей сети? Просто несколько основных вопросов, чтобы я мог лучше помочь с правильным ответом.