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

Как сделать ВСЕ порты доступными на CentOS 5.6?

Я установил сервер разработки CentOS 5.6, работающий как виртуальная машина под Virtual PC 2007, чтобы поиграть с Node.js. Все работает, но я не могу получить доступ к порту 8234, который является портом, на котором работает сервер Node.

Я знаю, что сервер работает, потому что могу wget localhost:8234 и получить HTML-файл, содержащий "Hello World", что правильно.

Если я использую сканер портов, я вижу, что все порты, упомянутые в разделе «Разрешить входящие», открыты и отвечают на эхо-запросы, но ничего больше.

Я бегал setup и установите следующие параметры:

На мой взгляд, эти настройки должны были отключить брандмауэр и разрешить все, что входит eth0 (единственный виртуальный сетевой интерфейс), но, похоже, это не так.

Как я могу просто полностью отключить брандмауэр или, в случае неудачи, сделать порт 8234 доступным для внешнего мира?

В system-config-securitylevel-tui приложение обеспечивает ОЧЕНЬ ограниченный контроль над брандмауэром хоста. Если вы хотите полностью отключить брандмауэр, вам следует сделать:

chkconfig iptables off
service iptables stop

Это остановит запуск брандмауэра при изменении уровня выполнения и отключит его, если он в данный момент запущен.

Чтобы разрешить доступ к вашему единственному порту

iptables -A INPUT -p tcp  -m tcp --dport 8234 -j ACCEPT
service iptables save

Вам не нужно настраивать брандмауэр, если он отключен. Я считаю, что вы также можете отключить брандмауэр после завершения установки; У меня нет удобной системы CentOS, чтобы найти ее, но Интернет, кажется, рекомендует

service iptables save
service iptables stop
chkconfig iptables off

Это сохранит ваши правила и отключит брандмауэр при последующей загрузке. Вероятно, есть еще и графический инструмент, о котором мы говорим - Red Hat. ;)

Брандмауэр - это достойная вещь. Вы должны добавить 8234: tcp в поле других портов (и / или udp, если это необходимо вашей службе).

Выполнение команды iptables, предоставленной @Lucas, будет работать, но не отключает брандмауэр, а просто разрешает весь трафик. В этом случае нет особого смысла оставлять брандмауэр включенным.

Ваш веб-сервер привязан только к localhost.

Убедитесь, что ваш веб-сервер прослушивает IP-адрес, отличный от localhost (127.0.0.1) или link-local (169.254. *. *)

netstat -tl поможет

Используйте следующую команду, чтобы узнать, какой порт прослушивает ваш веб-сервер.

(Я предполагаю, что вы используете apache)

netstat -an | grep httpd

Убедитесь, что он привязан к вашему общедоступному IP-адресу, а не только к локальной петле

iptables -P INPUT ACCEPT

как корень