Я использую openvpn и администратора сети для соединения с ghostvpn, и все прекрасно, но я хочу исключить весь трафик FTP из соединения VPN, потому что мне нужно больше скорости для/загружает. До настоящего времени я должен разъединиться с vpn сервера в течение времени, когда я делаю мой и загрузки - это не прохладное решение ;)
Как я могу сделать это? Или возможно в filezilla существует опция?
Заранее спасибо!
Sebastian
Вы можете направить ftp
напрямую в Интернет с помощью iptables
Здесь мы возьмем ftp
для маршрутизации. Используйте таблицу mangle
из iptables
для модификации пакетов ftp
.
sudo iptables -t mangle -A OUTPUT -p tcp --dport 21 -j MARK --set-mark 0x1
Мы помечаем все пакеты с портом назначения 21
как 0x1
.
Теперь сохраните и перезапустите iptables
.
sudo service iptables save
sudo service iptables restart
Затем создайте новую таблицу маршрутов IP в /etc/iproute2/rt_tables
, просто введя запись
100 ftptable
Правило записи для ftp
пакетов.
ip rule add fwmark 0x1 lookup ftptable
Добавить маршрут в новую таблицу ftptable
. Весь остальной трафик будет проходить через vpn, если vpn установлен как шлюз по умолчанию, что можно увидеть командой ip route show
.
Делайте это впервые, когда вы подключены к vpn.
Мы копируем все записи, кроме записи шлюза по умолчанию из основной таблицы.
sudo ip route show table main | grep -Ev ^default | while read ROUTE ; do ip route add table ftptable $ROUTE; done
Добавить запись шлюза по умолчанию для пакетов ftp
в таблицу ftptable
sudo ip route add default dev <your_interface> table ftptable
your_interfrace
в команде - это обычный интерфейс Wi-Fi или eth для доступа в Интернет, когда вы не подключены к интернет.
Используйте ip route show table ftptable
, чтобы показать все маршруты в ftptable
.
РЕДАКТ. 1
Второй способ
Отредактируйте /etc/iproute2/rt_tables
и добавьте новую таблицу, добавив следующую строку:
100 ftptable
Настройте новую таблицу маршрутизации с именем [ 1129] со шлюзом по умолчанию и создайте правила для условной отправки трафика в эту таблицу.
ip route add default via <usual_gw_ip> dev <your_int> table ftptable
ip rule add fwmark 0x1 table ftptable
Ваш последний аннотированный скрипт будет выглядеть следующим образом:
# Populate secondary routing table
ip route add default via <usual_gw_ip> dev <your_int> table ftptable
# Anything with this fwmark will use the secondary routing table
ip rule add fwmark 0x1 table ftptable
# Mark these packets so that iproute can route it through ftptable
iptables -A OUTPUT -t mangle -o <your_int> -p tcp --dport 21 -j MARK --set-mark 1
# now rewrite the src-addr
iptables -A POSTROUTING -t nat -o <your_int> -p tcp --dport 21 -j SNAT --to <your_local_ip>
Try.
РЕДАКТИРОВАТЬ 2
Когда вы подключены к vpn, я думаю, что весь трафик проходит через них. В вашей таблице маршрутизации вы увидите интерфейс gw to tun0
по умолчанию. Просто добавьте маршрут для маршрутизации трафика на FTP-сервер в другой интерфейс / IP
ip route add <your_ftp_server_ip/32> dev <your_exit_int>
<your_exit_int> - represent not tun interface example: eth0, ens160, ...