Описание тега icelandair
Кто-нибудь решил проблему fwmarks теряясь в TCP-сокет-соединения ответы?
Фон:
Мне нужно, чтобы обеспечить ответы, выходим на тот же интерфейс, на который их запросы были получены, и нужно поддерживать networksoutbound интерфейс не отличим от любых других средств, таких как источник маршрутизации; поэтому этот ответ завел меня в маршрутизации на основе политик. Во-первых, не похоже на работу для моего дела вообще (использовать tcpdump для того, чтобы посмотреть трафик на интерфейсе, а также направляя iptables, чтобы войти пакет метаданных в обоих направлениях), и в этот момент я увидел, что пакеты были действительно быть промаркированы в соответствии с входящего интерфейса, как я желал. А вот исходящие пакеты не сохраняют тот же знак! Я уменьшил мой тестовый случай из гнезда подключения к простой пинг (ICMP-эхо), и когда я понял fwmark теряется, я сделал больше исследований и обнаружили, что в "fwmark_reflect" значение параметра. Поддержкой, и все же решить вопрос за мой упрощенный тестовый случай, но, конечно, поскольку это значение относится только к "ядра возникла IP-пакетов, которые не имеют пользовательского сокета, связанного с ними", это не помогает с исходной задачи: создания подключений, таких как СШ...
Более подкладочная деталь:
в iptables пакет-обозначение правил:
-А следующее -Я ens3 -Джей Марк-набор-Марк 1 -А следующее -Я ens4 -Джей Марк-набор-Марк 2
Правила маршрутизации (некоторые из них дубликаты, потому что я ничего не пытаюсь, от отчаяния): #список IP правило 0: от поиска местных 0: из всех fwmark 0х1 просмотра упр 0: из всех fwmark 0х2 поиск абон 10: из всех fwmark 0х1 просмотра упр 20: из всех подстановок fwmark 0х2 абон 32766: от всех основных поиск 32767: от всех по умолчанию поиск 65536: из всех fwmark 0х2 оиф поиска ens4 абон
#таблице маршрутизации IP-упр
по умолчанию через 10.100.16.1 Дэв ens3
#список IP маршруте из таблицы cust
по умолчанию через 10.100.16.1 Дэв ens4 IP-маршрут вам знаком 221.194.47.243 2 221.194.47.243 через 10.100.16.1 Дев ens4 ГРЦ Марк 10.100.16.13 2
Выход журнала в iptables для Эхо-запроса и ответа(полный круг-командировки; дистанционное отражает успешное получение):
[27314.322482] пинг в=ens4 из= МАК=00:00:17:01:8С:ФФ:00:00:17:01:СР:В5:08:00 СРЦ=10.100.21.143 ДСТ=10.100.16.13 лен=84 ГС=0х00 в prec=0х00 ТТЛ=64 ИД=18269 ДФ прото=тип ICMP=8 код=0 ИД=14889 СЛ=1 марка=0х2
[27314.323446] - понг в= выход=ens4 СРЦ=10.100.16.13 ДСТ=10.100.21.143 лен=84 ГС=0х00 в prec=0х00 ТТЛ=64 ИД=39688 прото=тип ICMP=0, код=0 ИД=14889 СЛ=1 марка=0х2
Похожие вошли метаданных при попытке подключения через сокет к порту 22(удаленные отчеты обрыв связи, потому что, конечно, с оригиналом fwmark потеряли, таблица маршрутизации попытается отправить его неправильный интерфейс):
[23305.165235] ens4-PRERT в=ens4 из= МАК=00:00:17:01:8С:ФФ:00:00:17:23:А9:ае:08:00 СРЦ=156.151.8.14 ДСТ=10.100.16.13 лен=60 ГС=0х10 в prec=0х20 ТТЛ=41 код=45069 ДФ прото=ТСР СПТ=5874 ДПТ=22 окна=14600 Рес=0х00 сын УРГП=0 знак=0х2
[23305.169993] выход в= выход=ens3 СРЦ=10.100.16.13 ДСТ=156.151.8.14 лен=60 ГС=0х00 в prec=0х00 значение ttl=64 ИД=0 ДФ прото=ТСР СПТ=22 дптр=5874 окно=26844 Рес=0х00 АСК сын УРГП=0
Прошу прощения за длину этого поста. Я был биться головой о стены этой проблемы довольно долгое время, и не мог придумать придумать более лаконичный способ общения все соответствующие детали. Была бы очень признательна любой рекомендации кто может дать, даже если это "это невозможно". Ура!