При смене порта ssh после ребута умирает сервер

verfaa

Профессор
Регистрация
29 Янв 2007
Сообщения
417
Реакции
49
Итак, имеем абсолютно чистую систему centos 7.
И решил я перво-наперво там изменить порт ssh и сделать, например, 34567

Через winscp открываю файл /etc/ssh/sshd_config и вместо #Port 22 прописываю там
Код:
Port 22
Port 34567

В консоли вбиваю последовательно:
Код:
systemctl reload sshd
systemctl restart sshd

Затем открываю файл /etc/sysconfig/iptables и добавляю туда строку -A INPUT -p tcp -m state --state NEW -m tcp --dport 34567 -j ACCEPT , т.е. привожу его к виду:
Код:
# sample configuration for iptables service
# you can edit this manually or use system-config-firewall
# please do not ask us to add additional ports/services to this default configuration
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 34567 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

сохраняю его, затем в консоли вбиваю последовательно:
Код:
systemctl reload iptables
systemctl restart iptables

После чего открываю новую копию winscp и пытаюсь законнектиться к серверу по новому порту 34567 - все отлично коннектиться! По 22 тоже все ОК

Результаты вывода команд:
Код:
# systemctl status iptables
● iptables.service - IPv4 firewall with iptables
   Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled; vendor preset: disabled)
   Active: active (exited) since Fri 2016-03-11 16:45:15 EST; 5min ago
  Process: 543 ExecStop=/usr/libexec/iptables/iptables.init stop (code=exited, status=0/SUCCESS)
  Process: 529 ExecReload=/usr/libexec/iptables/iptables.init reload (code=exited, status=0/SUCCESS)
  Process: 605 ExecStart=/usr/libexec/iptables/iptables.init start (code=exited, status=0/SUCCESS)
Main PID: 605 (code=exited, status=0/SUCCESS)

Mar 11 16:45:15 gestiondbi-nl systemd[1]: Starting IPv4 firewall with iptables...
Mar 11 16:45:15 gestiondbi-nl iptables.init[605]: iptables: Applying firewall rules: [  OK  ]
Mar 11 16:45:15 gestiondbi-nl systemd[1]: Started IPv4 firewall with iptables.

Код:
# systemctl status sshd
● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2016-03-11 16:40:41 EST; 10min ago
     Docs: man:sshd(8)
           man:sshd_config(5)
  Process: 503 ExecReload=/bin/kill -HUP $MAINPID (code=exited, status=0/SUCCESS)
Main PID: 509 (sshd)
   CGroup: /system.slice/sshd.service
           └─509 /usr/sbin/sshd -D

Mar 11 16:40:41 gestiondbi-nl systemd[1]: Started OpenSSH server daemon.
Mar 11 16:40:41 gestiondbi-nl systemd[1]: Starting OpenSSH server daemon...
Mar 11 16:40:41 gestiondbi-nl sshd[509]: Server listening on 0.0.0.0 port 34567.
Mar 11 16:40:41 gestiondbi-nl sshd[509]: Server listening on :: port 34567.
Mar 11 16:40:41 gestiondbi-nl sshd[509]: Server listening on 0.0.0.0 port 22.
Mar 11 16:40:41 gestiondbi-nl sshd[509]: Server listening on :: port 22.
Mar 11 16:48:27 gestiondbi-nl sshd[623]: Accepted password for root from xxx.xxx.205.136 port 63648 ssh2
Mar 11 16:48:39 gestiondbi-nl sshd[631]: Accepted password for root from xxx.xxx.205.136 port 63649 ssh2
Mar 11 16:48:51 gestiondbi-nl sshd[639]: Accepted password for root from xxx.xxx.205.136 port 63650 ssh2
Mar 11 16:49:37 gestiondbi-nl sshd[647]: Accepted password for root from xxx.xxx.205.136 port 30621 ssh2

Код:
# iptables --list
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
ACCEPT     icmp --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:ssh
ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:dhanalakshmi
REJECT     all  --  anywhere             anywhere             reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
REJECT     all  --  anywhere             anywhere             reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Вроде бы всё ок, можно перезагрузить сервер, делаю reboot и все, сервер умер и больше уже не подаёт признаков жизни - ни по 22 ни по 34567 порту к нему подключится уже не получается, в панели хостера у него также меняется статус на offline. Помогает только реинталл ОС. Сегодня пару раз проделывал эту операцию и неизменно после ребута она заканчивалась провалом.

В чем тут может быть причина? Помню раньше на других своих серверах менял порт ssh и все нормально было, они и сейчас работают на нестандартном порту. А тут взял у нового хостера несколько впсок и вот...(
 
что пишет в /var/log/messages ?
случайно не Cannot bind any address ?
вот эта статья возможно поможет Для просмотра ссылки Войди или Зарегистрируйся
 
Нет, такой ошибки вроде нет.
А рекомендации в мануале насколько я понимаю актуальны для тех, у кого включён SELinux, а у меня:

Код:
# sestatus
SELinux status:                 disabled

Зато случайно открыл одну интересную деталь, если в панели управления впс изменить одну из настроек TUN/TAP или PPP сервер оживает! И становится доступен на обоих портах - 22 и 34567!
Причем неважно какую настройку менять, неважно в какое положение - в off или в on, только любое изменение одной из них - и сервер сразу в онлайн.
Но при этом, если опять делать reboot, неважно где - в консоли или в панели управления впс кликнуть reboot - сервер опять умирает!
Короче неебический глюк у хостера) У кого какие мысли по этому поводу есть - делитесь.
 
Firewalld, разумеется, выключен?
 
А ты не пробовал сразу в ТП хостера написать?)
 
Firewalld, разумеется, выключен?
да
Код:
# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
 
если в панели управления впс изменить одну из настроек TUN/TAP или PPP сервер оживает! И становится доступен на обоих портах - 22 и 34567!
Я думаю всё дело в перезапуске сети. При изменении настроек, происходит рестарт сервиса, который возможно не делается напрямую.
 
Назад
Сверху