Пересилання портів на Centos 7


9

Я працюю на сервері 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.  

Будь-яка ідея, чого мені не вистачає?


Що не так із запуском httpd або nginx перед ним?
Майкл Хемптон

Нічого, я намагався зробити це не так, якби міг допомогти.
zzzsys

Відповіді:


10

Я просто знайшов спосіб, який зробив це для мене можливим:

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

1
правильний +1 для вас. Мені довелося докласти багато зусиль, щоб потрапити сюди.
Гуру

FirewallD не працює
Стів Яковенко

@SteveYakovenko потім почати це хороший перший крок.
just_user

0

firewall-cmdПорт "add-forward" додасть правила до PREROUTINGланцюга NAT, що застосовується лише для пакетів, що генеруються зовні. Якщо ви намагаєтесь підключитися до localhost (або локальний IP-сервер) на порт 80 на сервері, це не вдасться, оскільки ці пакети ніколи не проходять PREROUTING.

Якщо ви підключаєтесь до порту 80 із зовнішнього джерела, firewall-cmdперелічені вами переліки повинні працювати належним чином. Я б запропонував перевірити, чи ваш інтерфейс насправді знаходиться у "загальнодоступній" зоні.

Ви також можете запустити таку команду, щоб отримати підрахунок пакетів за правилом, щоб переконатися, що він фактично потрапляє:

iptables -t nat -vnL | grep 8080 -B1

Якщо при кожному спробі кількість пакетів збільшується, значить, брандмауер працює належним чином, і у вас є проблема поза брандмауером (можливо, ACL на JBOSS?). Якщо пакети не збільшуються при кожній спробі, правило брандмауера взагалі не потрапляє, що говорить про те, що ви перебуваєте в неправильній зоні, або є якесь інше правило, яке передбачає правило переадресації порту.


Дякую, я перевірю це. З'єднання здійснюється із зовнішнього джерела.
zzzsys
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.