Вопрос или проблема
Я использую Ubuntu 22.04 и хочу перенаправить весь трафик, получаемый на IP-адрес LAN моей машины 192.168.18.14, порт 7777, на интерфейс обратной связи 127.0.0.1, порт 4444.
Я не хочу, чтобы это было постоянно, я должен иметь возможность отменить эти изменения, чтобы не испортить свою рабочую машину.
Как мне сделать оба из вышеуказанных действия?
Спасибо
Ответ или решение
Чтобы перенаправить трафик с IP-адреса LAN 192.168.18.14 на порт 7777 к локальному интерфейсу 127.0.0.1 на порт 4444 на Ubuntu 22.04, вы можете использовать утилиту iptables
. Этот метод не требует постоянных изменений, что позволяет легко отменить сделанные настройки, если это необходимо.
Шаги по перенаправлению трафика
-
Откройте терминал. Для выполнения команд нам потребуется доступ к терминалу.
-
Проверьте наличие необходимых привилегий. Убедитесь, что у вас есть права суперпользователя, так как для выполнения команды
iptables
нужны административные права. Если вы не являетесь пользователем root, добавьтеsudo
перед командой. -
Добавьте правило
iptables
для перенаправления трафика. Выполните следующую команду в терминале:sudo iptables -t nat -A PREROUTING -p tcp -d 192.168.18.14 --dport 7777 -j REDIRECT --to-port 4444
Разбор команды:
-t nat
: Мы работаем с таблицей NAT.-A PREROUTING
: Это правило применяется к пакету перед его маршрутизацией.-p tcp
: Применяем правило к TCP-пакетам.-d 192.168.18.14
: Указываем, что правило касается пакетов, адресованных этому IP.--dport 7777
: Указываем, что правило касается трафика на порт 7777.-j REDIRECT
: Сообщаем, что необходимо перенаправить трафик.--to-port 4444
: Указываем, что трафик должен направляться на порт 4444.
-
Проверьте действующие правила
iptables
. Выполните следующую команду, чтобы убедиться, что правило добавлено:sudo iptables -t nat -L -n -v
-
Тестирование перенаправления. Используйте клиент TCP (например,
telnet
илиcurl
), чтобы протестировать перенаправление, отправив запрос на192.168.18.14:7777
. Вы должны увидеть ответ от приложения, работающего на127.0.0.1:4444
.
Отмена перенаправления трафика
Если вы хотите отменить перенаправление, просто удалите правило, которое вы добавили. Используйте следующую команду:
sudo iptables -t nat -D PREROUTING -p tcp -d 192.168.18.14 --dport 7777 -j REDIRECT --to-port 4444
Заключение
Этот способ позволяет временно перенаправить трафик с одного порта на другой без постоянных изменений в конфигурации вашей системы. Если у вас есть какие-либо вопросы или проблемы во время настройки, не стесняйтесь обращаться за помощью. Удачи в ваших разработках!