Не могу открыть порты в iptables на CentOS 5?
Я пытаюсь открыть порты в брандмауэре CentOS, и у меня ужасно получается. Я следовал "HowTo" здесь: http://wiki.centos.org/HowTos/Network/IPTables а также нескольким другим местам в сети, но я все еще не могу заставить эту кровавую вещь работать.
По сути, я хотел, чтобы работали две вещи: VNC и Apache по внутренней сети. Проблема в том, что брандмауэр блокирует все попытки подключения к этим сервисам. Теперь, если я выпущу
service iptables stop
и затем попытайтесь получить доступ к серверу через VNC или поразить веб-сервер, все работает как ожидалось. Однако в тот момент, когда я снова включаю iptables, весь мой доступ блокируется. Ниже приведена усеченная версия моего файла iptables, как он выглядит в vi
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 5801 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 5901 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 6001 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 5900 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
На самом деле, я был бы рад, если бы мне удалось открыть порт 80 для Apache, так как я могу делать большинство вещей с помощью замазки, но если бы я мог также выяснить, VNC, это было бы здорово. Что касается VNC, есть только один / пользовательский рабочий стол, к которому я пытаюсь подключиться через: [ipaddress]:1
Любая помощь будет принята с благодарностью!
3 ответа
Предполагая, что у вас нет каких-либо операторов REJECT/DROP выше, все, что вам нужно сделать для внутренней сети (скажем, вы находитесь на 10.1.1.x и хотите, чтобы все хосты в этом диапазоне), это оператор, такой как:
-A RH-Firewall-1-INPUT -s 10.1.1.0/24 -p tcp -m состояние --state NEW -m tcp --dport 80 -j ПРИНЯТЬ
и следуйте за этим для каждого дополнительного порта. Проверьте верхнюю часть файла и убедитесь, что :RH-Firewall-1-INPUT - [0:0]
присутствует или использовать стандарт -A INPUT
вместо.
! Имейте в виду, что iptables обрабатывается сверху вниз. !
Если это не сработает, опубликуйте весь свой conf или переместите строку DROP или REJECT в конец файла (но выше COMMIT).
Обязательно сделайте /sbin/service iptables reload
после.
cHao был на правильном пути, попросив больше iptables. Из-за моего невежества я не знал, что положение записи в iptables имело значение (хотя, поскольку они являются цепочками, я должен был это понять). В любом случае, проблема заключалась в том, что все мои строки падали после этой строки:
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
Как только я переместил их до указанной выше строки, все работало нормально.
Похоже, что правила будут разрешать новые входящие запросы на подключение, но не данные из существующих подключений. Если вы избавитесь от -m state --state NEW
для порта 80 (последняя указанная строка) или добавьте правило для УСТАНОВЛЕННЫХ и СВЯЗАННЫХ подключений ко всем портам, он должен сделать порт 80 доступным.