Я работаю в месте, где мой imap для электронной почты (с использованием Thunderbird) открыт только через Wi-Fi. Остальные в основном будут работать только по проводным каналам (и в любом случае быстрее). Итак, как лучше всего использовать мою почту (скажем, порт imap для smtp 993 и 465) через Wi-Fi и все остальные по проводному соединению, когда подключены и Wi-Fi, и проводной. И только для этого места, кстати (так что, вероятно, пакет, чтобы отменить его и повторить его). Использование рабочего стола ubuntu 14.04 (на ноутбуке).
во-первых, Удостоверьтесь, что Вы имеете iproute
установленный пакет. Если у Вас есть IP команда затем, Вы установлены
Редактирование /etc/iproute2/rt_tables
и добавляете новую таблицу путем добавления следующей строки:
200 wlan-route
затем необходимо настроить новую таблицу маршрутизации, названную wlan-маршрутом со шлюзом по умолчанию, и создать правила условно отправить трафик в ту таблицу. Я предположу, что Ваш шлюз по умолчанию 192.168.0.1. Естественно это должно соответствовать Вашей фактической сети и не только моим предположениям.
ip route add default via 192.168.0.1 dev wlan0 table wlan-route
ip rule add fwmark 0x1 table wlan-route
аннотируемый сценарий Вашего финала будет похож на это:
# Populate secondary routing table
ip route add default via 192.168.0.1 dev wlan0 table wlan-route
# Anything with this fwmark will use the secondary routing table
ip rule add fwmark 0x1 table wlan-route
# Mark these packets so that iproute can route it through wlan-route
iptables -A OUTPUT -t mangle -o eth1 -p tcp --dport 993 -j MARK --set-mark 1
# now rewrite the src-addr
iptables -A POSTROUTING -t nat -o wlan0 -p tcp --dport 993 -j SNAT --to 192.168.0.2
этот сценарий отправляет любой трафик в порте 993 через источник wlan0
Проблема может быть решена с добавлением дополнительных маршрутов на основе места назначения.
От терминала
sudo ip route add ip_address_mail_server dev wlan0
Это может быть сделано путем редактирования соединения в /etc/NetworkManager/system-connections/connection_name
sudo nano /etc/NetworkManager/system-connections/connection_name
[connection]
id=Auto XXXX
uuid=f4a27a71-202f-45ac-bc58-59a55600f515
type=802-11-wireless
[802-11-wireless]
ssid=XXXX
mode=infrastructure
mac-address=18:CF:5E:23:2A:0A
security=802-11-wireless-security
[802-11-wireless-security]
key-mgmt=wpa-psk
auth-alg=open
psk=yyyyyyyyy
[ipv4]
method=auto
routes1=xxx.xxx.xxx.xxx;32;yyy.yyy.yyy.yyy;0;
[ipv6]
method=auto
xxx.xxx.xxx.xxx - представьте IP-адрес почтового сервера
yyy.yyy.yyy.yyy - представьте противника шлюза wlan0 интерфейс
Редактирование 1
Второй метод более точен, но также и более сложен
Давайте начнем с iptable. Здесь мы возьмем smtp
как сервис для маршрутизации. Использовать mangle
таблица iptable для изменения smtp
пакеты.
sudo iptables -t mangle -A OUTPUT -p tcp –dport 993 -j MARK –set-mark 0×1
Мы отмечаем все пакеты с целевым портом 993
как ’0×1 ′.
Теперь сохраните и перезапустите iptables
.
service iptables save
service iptables restart
Удалить эту запись из iptables
мы можем использовать -D
вместо -A
.
Затем, создайте новую таблицу маршрутизации IP в /etc/iproute2/rt_table
просто дав запись
100 smtp
Запишите правило для smtp
пакеты.
ip rule add fwmark 0×1 lookup smtp
Добавьте маршрут за новой таблицей smtp. Здесь мы будем использовать ’192.168.1.1 ′ в качестве шлюза для smtp
. Весь другой трафик пройдет шлюз по умолчанию, который виден выставочной команде маршрута IP.
Мы копируем все записи кроме записи шлюза по умолчанию от основной таблицы.
sudo ip route show table main | grep -Ev ^default | while read ROUTE ; do ip route add table sshtable $ROUTE; done
Добавьте запись шлюза по умолчанию для smtp
пакеты к таблице smtp
sudo ip route add default via 192.168.1.1 table smtp
Использовать ip route show table smtp to show all routes at
smtp'.
Вот именно.. мы сделали это!!!
Повторите все для imap
на порте 465
.