IP/ПОРТ передает запросы к другому серверу

У меня есть следующее слушание PORT:IP, настроенный на моем сервере Ubuntu.

12.345.67.890:3636

Это получает запросы отлично, однако, я теперь хотел бы передать любые запросы к тому IP:PORT к другому IP:PORT, т.е.:

09.876.54.321:3636

По существу я хочу сделать запрос вперед 12.345.67.890:3636 -> 09.876.54.321:3636.

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

Спасибо!

Править: Я могу просто сделать следующим образом, просто задавшись вопросом, как я пошел бы о тестировании его и как я мог отключить его?

sysctl net.ipv4.ip_forward=1
iptables -t nat -A PREROUTING -p tcp --dport 3636 -j DNAT --to-destination 09.876.54.321:3636
iptables -t nat -A POSTROUTING -j MASQUERADE
6
задан 19 August 2014 в 08:11

2 ответа

Команд в Вашем вопросе достаточно, чтобы позволить направить и вперед 12.345.67.890:3636 к 09.876.54.321:3636.


Используйте цель ЖУРНАЛА iptable для контроля то, что происходит:

iptables -I FORWARD -j LOG

Необходимо видеть что-то вроде этого в/var/log/syslog:

Aug 19 08:43:23 hostname kernel: [190951.964227] IN=eth0 OUT=eth0 SRC=11.22.33.44 DST=09.876.54.321 LEN=40 TOS=0x00 PREC=0x00 TTL=64 ID=51600 DF PROTO=TCP SPT=41960 DPT=3636 WINDOW=246 RES=0x00 ACK URGP=0
  • SRC: Исходный IP-адрес
  • DST: Целевой IP-адрес
  • SPT: Исходный порт
  • DPT: Целевой порт

Сбросьте правила iptables очистить все:

iptables -F
3
ответ дан 17 November 2019 в 09:44

Отключение перенаправления портов

Когда дело доходит до удаления возможности маршрутизации порта никакой ответ не был то, учитывая, что выключит передачу (экспериментально проверенный на Ubuntu 18.04.2).

Кредиты: вопрос @DT.DTDG значительно точно указан, спасибо. Этот вопрос плюс ответ @Eric помог мне решающий что-то, Спасибо! И я пошел далее в исследовании этой темы, таким образом, я хочу поделиться знаниями с сообществом.

Чистка правил

Для чистки правил маршрутизации необходимо удалить их из таблицы маршрутизации NAT (Сетевая Таблица преобразования Addres). Вы достигаете этого этим:

iptables -F -t nat

Иначе: если Вы пропустите "-t туземный" параметр, то правила, упомянутые в вопросе, продолжат работать (например, в Ubuntu 18.04.2).

Выключите передачу

Кроме того, параметру ядра нужна отдельная команда. Если Вы хотите добраться, все очистили Вас, также имеют к:

sysctl net.ipv4.ip_forward=0

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

Приложение

  1. Все действия обычно нуждаются в наращиваемом priviledges, выполняют их, предшествовал с sudo или как "корень".

  2. Протоколы рекламы. Команды, которые настраивают маршрутизацию:

CUR_PORT = текущий порт машины
DES_IP = целевой IP-адрес машины
DES_PORT = целевой порт машины

sysctl net.ipv4.ip_forward=1
iptables -t nat -A PREROUTING -p tcp --dport CUR_PORT -j DNAT --to-destination DES_IP:DES_PORT
iptables -t nat -A POSTROUTING -j MASQUERADE
0
ответ дан 17 November 2019 в 09:44

Другие вопросы по тегам:

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