Исходные данные:
- У нас есть выделенный сервер - debian/ubuntu. В моем случае - это Debian Wheezy.
- На сервере запущен web-контейнер tomcat на котором "крутиться" приложение.
- web-контейнер запущен от имени обычного пользователя, т.е. порты до 1024 не доступны.
8080
на 80
и c 8443
на 443
. Говоря иначе, мы по прежнему хотим запускать web-контейнер от имени непривилегированного пользователя(без root привилегий), но чтобы http и https трафик шёл через стандартные для данного протокола порты.
Необходимый софт:
apt-get install iptables-persistentВо время инсталляции нас любезно попросят сохранить текущую конфигурацию для IPv6 и IPv4. Я лишь сохранил настройки для IPv4. Файл конфигурации:
/etc/iptables/rules.v4Правила из данного файла будут применяться каждый раз во время загрузки системы. Для перенаправления трафика нужно выполнить следующие команды:
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080 iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 8443Сделав это, мы лишь применяем правила к текущему сеансу - они не я вляются перманентными(не будут восстановлены во время перезагрузки). Поэтому мы поступаем следующим образом... Сохраняем нашу обновленную конфигурацию в
rules.v4
:
iptables-save > /etc/iptables/rules.v4Все!
Для того чтобы удалить правила:
sudo iptables -t nat -D PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080 sudo iptables -t nat -D PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 8443Если эти изменения нужно сделать перманентными, необходимо проделать описанные выше шаги для сохранения конфигурации.
Источники:
- Перенаправление тарфика:пост,вопрос на serverfault
- Сохранение настроек iptables
No comments:
Post a Comment