Назад | Перейти на главную страницу

Перенаправить публичный порт на localhost

У меня есть процесс, запущенный на моем сервере Ubuntu 12.04, который настаивает на привязке к общедоступному IP-адресу. Я хочу, чтобы он был доступен только с localhost, а НЕ из внешнего мира. Я пытался найти способ переслать 1.2.3.4:8888 на 127.0.0.1:8888. Я видел кое-что о том, что iptables не хочет пересылать соединения в loopback, и мне тоже не удалось заставить его работать с xinetd. Также важно, чтобы соединение было не только доступно на локальном хосте, но и было недоступно на интерфейсе, на котором оно пытается работать. Это вообще возможно?

iptables -A INPUT -p tcp -i eth0 -s 0/0 --dport 8888 -j DROP

Замените eth0 любым интерфейсом, с которого вы хотите заблокировать соединения. Если приложение обменивается данными по UDP, замените tcp на udp или просто примените оба.