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

Порты переадресации на Centos 7

Я работаю над сервером CentOS 7, и я тоже пытаюсь заставить JBoss работать так, как я хочу. Я использую Java 8 и JBoss (безумно) 8. У меня они установлены и работают с портами по умолчанию, но я хочу, чтобы JBoss работал на порте 80. Я знаю, что могу заставить его работать на порте 80, если я запустите его как root, но я знаю, что это плохая идея, и я не хочу запускать его как root.

Я пробовал перенаправить порт 80 на 8080, но у меня ничего не получилось. Я думаю, что пропускаю шаг, но я не знаю, что мне не хватает.

Я использую firewall-cmd. Я открыл оба порта (80 и 8080) и включил маскировку для публичной зоны. Я также использовал эту команду для перенаправления порта

firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=8080.  

Есть идеи, что мне не хватает?

Я только что нашел способ, который сделал это возможным:

firewall-cmd --zone=public --add-masquerade --permanent
firewall-cmd --zone=public --add-forward-port=port=443:proto=tcp:toport=3001 --permanent

firewall-cmdadd-forward-port добавит правила в PREROUTING Цепочка NAT, которая применима только для пакетов, сгенерированных извне. Если вы пытаетесь подключиться к localhost (или локальному IP-адресу сервера) через порт 80 на сервере, он потерпит неудачу, потому что эти пакеты никогда не проходят через PREROUTING.

Если вы подключаетесь к порту 80 из внешнего источника, тогда firewall-cmd перечисленные вами должны работать правильно. Я бы посоветовал проверить, действительно ли ваш интерфейс находится в «публичной» зоне.

Вы также можете выполнить следующую команду, чтобы получить количество пакетов для правила, чтобы убедиться, что оно действительно выполняется:

iptables -t nat -vnL | grep 8080 -B1

Если счетчик пакетов увеличивается при каждой попытке, значит, брандмауэр работает правильно, и у вас есть проблема за пределами брандмауэра (возможно, ACL в JBOSS?). Если количество пакетов не увеличивается при каждой попытке, правило брандмауэра вообще не срабатывает, что говорит о том, что вы либо находитесь в неправильной зоне, либо существует какое-то другое правило, вытесняющее правило переадресации портов.