Маршрутизация трафика порта через определенный интерфейс

Попробуйте это:

sed -e '1h;2,$H;$!d;g' -re 's/(.*)(H\w+\n)(.*w\n)(.*)/\2\3/' test.txt

С файлом test.txt, содержащим:

Something 
Hello
I
am
here right now
Something else

Проверено с помощью sed (GNU sed) 4.4. Вы можете установить GNU sed на macOS через Homebrew sed по умолчанию в macOS — BSD sed, некоторые параметры немного отличаются.

Ура,

1
11.06.2020, 17:16
1 ответ

Как я сказал вкомментарии , связанные с OP, начиная с ядра Linux 4.17, используя iptables(или что-либо еще, сетевой фильтр , связанный с ), больше не нужен Для решения этой проблемы. Более новая функция, доступная для решения этой проблемы в последнем ядре, описана в kernelnewbies.org :

.

Extends fib rule match support to include sport, dport and ip proto match (to complete the 5-tuple match support). Common use-cases of Policy based routing in the data center require 5-tuple match commit, commit, commit, commit, commit

Поэтому вместо того, чтобы искать, какие детали не работают так же, как в моем предыдущем ответе, я реализую более новый метод в этом ответе.

Я предполагаю, что работает только один VPN :, описанный OP. Мне не хватает информации о другом VPN, чтобы знать, есть ли с ним взаимодействие.

Сотрите все правила ip rule или правила iptables , добавленные ранее, чтобы попытаться решить эту проблему.

Сохранить таблицу 80 как в OP:

ip route add table 80 192.168.50.0/24 dev bond0 src 192.168.50.34
ip route add table 80 default via 192.168.50.1

Добавьте с помощьюip ruleправила выбора альтернативных маршрутов при использовании определенных портов назначения.Не зная варианта использования или оставшейся топологии (другой VPN, сервер также получает входящий трафик от VPN... ), чтобы оставаться в безопасности, я ограничиваю это самим сервером, а не все, что он может маршрутизировать. Это цель iif loниже. Это особый способ обозначения из локального , т.е. локально инициированного исходящего (не-маршрутизируемого )трафика:

ip rule add iif lo ipproto tcp dport 80 lookup 80
ip rule add iif lo ipproto tcp dport 443 lookup 80
ip rule add iif lo ipproto tcp dport 1195 lookup 80
ip rule add iif lo ipproto tcp dport 32400 lookup 80

Затем оставшаяся часть заключается в том, чтобы ослабить Строгую переадресацию обратного пути в Свободный RPF (, который не сильно отличается от его полной неактивации ), если он активен по умолчанию в данном дистрибутиве Linux, чтобы предотвратить сброс обратного трафика:

sysctl -w net.ipv4.conf.bond0.rp_filter=2

Вот и все:

# ip route get 192.0.2.10
192.0.2.10 dev tun1 src 10.44.10.6 uid 0 
    cache 
# ip route get 192.0.2.10 ipproto tcp dport 80
192.0.2.10 via 192.168.50.1 dev bond0 table 80 src 192.168.50.34 uid 0 
    cache
4
19.03.2021, 02:27

Теги

Похожие вопросы