Рейтинг:1

Маршрутизатор Linux используется для перенаправления трафика извне на внутреннее устройство, но внутреннее устройство должно отвечать, используя другой порт

флаг in

Я работаю над маршрутизатором между внешним радио/модемом и моим устройством, где маршрутизатор устанавливает коммутируемое соединение с использованием протокола ppp для радио и устанавливает правила iptables между полученным IP-адресом радио и IP-адресом моего устройства.

У меня есть следующие маршруты:

Шлюз назначения Флаги Генмаски Метрика Ссылка Использование Iface
по умолчанию 192.168.1000.101 0.0.0.0 UG 0 0 0 ppp0
192.168.100.101 * 255.255.255.255 UH 0 0 0 ppp0
192.168.164.0 * 255.255.255.0 U 0 0 0 eth0

И вот мои следующие правила iptables:

iptables -A ВВОД -j ПРИНЯТЬ
iptables -A ВЫВОД -j ПРИНЯТЬ
iptables -A ВПЕРЕД -j ПРИНЯТЬ
iptables -A ВВОД -i lo -j ПРИНЯТЬ
iptables -A ВЫВОД -o lo -j ПРИНЯТЬ
iptables -t nat -A PREROUTING -i ppp0 -p tcp -j DNAT --to 192.168.0.110
iptables -t nat -A PREROUTING -i ppp0 -p udp -j DNAT --to 192.168.0.110
iptables -t nat -A POSTROUTING --source 0/0 -o ppp0 -j MASQUERADE

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

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

Например, я пытаюсь установить соединение, используя порт источника 2000 с портом назначения 2001, и ответ моего устройства возвращается, используя порт источника 21550 и порт назначения 2000. Но ответ не возвращается клиенту, подключенному к другой стороне радио. .

Используя tcpdump внутри моего маршрутизатора, я увидел ответ устройства, но я не мог понять, как обрабатывать изменения этого порта в правилах iptables, чтобы отправить его обратно клиенту, подключенному к другой стороне радио.

Любая помощь будет оценена!

Michael Hampton avatar
флаг cz
Не используйте НАТ. Просто маршрут нормальный.
VBalestero avatar
флаг in
Михаил спасибо за быстрый ответ. Но я не понимаю ваш ответ, вы имеете в виду не использовать iptables, а только таблицу маршрутов, это правильно?
Ron Maupin avatar
флаг us
NAT _не_ заменяет маршрутизацию. Вы не используете NAT, за исключением случаев, когда это необходимо (от частного к общедоступному или с перекрывающейся адресацией). У вас нет никаких причин для NAT, так как у вас есть неперекрывающаяся частная адресация, поэтому вы можете просто маршрутизировать и обойти все проблемы NAT.
VBalestero avatar
флаг in
Спасибо за быстрые ответы, попробую без iptables.
djdomi avatar
флаг za
Кроме того, я вижу, что вы пытаетесь использовать некоторые порты, пожалуйста, сообщите нам, что вы пытаетесь исправить (проблема X и Y)

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.