Сервер CentOS отклоняет все соединения, кроме ssh telnet и http [дубликат]

На этот вопрос уже есть ответ:

По какой-то причине мой CentOS VPS отклоняет все соединения, кроме HTTP, SSH и Telnet. Всякий раз, когда я пытаюсь подключиться к порту, например 25 (SMTP), или даже к случайному порту, например 225, я получаю сообщение об отказе в соединении: S netstat -ap показывает, что сервер прослушивает и iptables отключен.

Однако я могу взаимодействовать с теми же портами на сервере через telnet ...

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination    

# netstat -an | fgrep LISTEN
tcp        0      0 0.0.0.0:25                  0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:225                 0.0.0.0:*                   LISTEN      
tcp        0      0 :::22                       :::*                        LISTEN      
tcp        0      0 :::80                       :::*                        LISTEN      
unix  2      [ ACC ]     STREAM     LISTENING     169786017 /tmp/.font-unix/fs7100
unix  2      [ ACC ]     STREAM     LISTENING     169786045 /var/run/saslauthd/mux

Это сообщение об ошибке, которое я получаю из моего скрипта php. Мой PHP-скрипт отлично работает со всеми остальными SMTP-серверами, с которыми я встречался Предупреждение: fsockopen () [function.fsockopen]: невозможно подключиться к: 25 (В соединении отказано)

1
задан 10 October 2011 в 00:07
2 ответа

Похоже, что что-то выше вашего VPS блокирует доступ, за исключением отмеченных портов. Вам следует обратиться к своему провайдеру VPS и спросить его об этом.

3
ответ дан 3 December 2019 в 18:00

Хорошо, чтобы прояснить ситуацию - если вы используете CentOS, скорее всего, вы используете версию 5 с sendmail по умолчанию. В этом случае вы не будете подключаться извне, потому что sendmail по умолчанию будет слушать только localhost. Чтобы заставить его прослушивать основной IP-адрес, вам необходимо отключить строку в /etc/sendmail.mc от этого:

DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl

до этого:

dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl

Затем перестройте sendmail.cf со следующим:

/etc/mail/make
/etc/init.d/sendmail restart

(если он это postfix, это может быть другая история. IIRC, postfix по умолчанию также будет прослушивать только на локальном хосте, поэтому вам нужно будет настроить его также для прослушивания на основном IP).

ОДНАКО, поскольку вы просто пытаетесь для проверки внешнего подключения вам может потребоваться просто установить nc, а затем запустить его для прослушивания определенного файла. Вот мой пример:

[root@kvm0006 mail]# nc -l 50

Здесь я слушаю порт 50 (отсюда -l). Теперь, когда я подключаюсь к этому порту извне сервера, я получаю следующее:

yvaine:Downloads rilindo$ telnet 192.168.15.36 50
Trying 192.168.15.36...
Connected to kvm0006.monzell.com.
Escape character is '^]'.
Hello

На стороне сервера будет возвращено следующее:

[root@kvm0006 mail]# nc -l 50
Hello

Для установки nc:

yum -y install nc
1
ответ дан 3 December 2019 в 18:00

Теги

Похожие вопросы