@glebrain

Как подключиться из Windows к centos по порту 5555?

Всем привет! помогите разобраться...

Имею:
[1] Домашний хост на Centos, IP: 192.168.1.5 (здесь сокет сервер сидит на 127.0.0.1:5555)
внешний IP хоста: x.x.x.x
[2] Домашний сервер на Windows, IP:192.168.1.6 (на нем программа есть, она опрашивает 192.168.1.5:5555)

[1] и [2] находятся в локальной сети:
cmd>ping 192.168.1.5
...
Статистика Ping для 192.168.1.5: Пакетов: отправлено = 4, получено = 4, потеряно = 0  (0% потерь)
Приблизительное время приема-передачи в мс: Минимальное = 0мсек, Максимальное = 1 мсек, Среднее = 0 мсек

Мне нужно чтобы программа [2] подключилась к сокет-серверу [1] .
Покопавшись в инете понял, что надо менять iptables, перепробовал варианты:

iptables -A INPUT -p tcp -m tcp --dport 5555 -m state --state NEW -j ACCEPT
iptables -A INPUT -i enp2s0 -p tcp -m tcp --dport 5555 -j ACCEPT
iptables -A INPUT -i enp2s0 -p tcp -m conntrack --ctstate NEW -m multiport --dports 5554:5556 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 5555 -m state --state NEW -j ACCEPT
iptables -A INPUT -s 192.168.1.6/32 -p tcp -m conntrack --ctstate NEW -m multiport --dports 5554:5556 -j ACCEPT
service iptables save
/bin/systemctl restart  iptables.service

Команды выше, пробовал по одной писать и все сразу и в разном порядке, результат всегда один и тот же:
[1]:
// сокетсервер забинден на localhost:5555 
[root@localhost ~]# fuser -vn tcp 5555
                     ПОЛЬЗ-ЛЬ    PID ДОСТУП КОМАНДА
5555/tcp:       chel   8336 F.... php    

// прослушивание есть
[root@localhost ~]# netstat -na | grep 555
tcp        0      0 127.0.0.1:5555          0.0.0.0:*               LISTEN


[2]:
cmd> telnet
telnet> o 192.168.1.5 5555
Подключение к 192.168.1.5...Не удалось открыть подключение к этому узлу, на порт
 5555: Сбой подключения
telnet> o x.x.x.x 5555
Подключение к x.x.x.x...Не удалось открыть подключение к этому узлу, на порт
 5555: Сбой подключения

пытался сокет-сервер повесить на 127.0.0.1:5555 или на 192.168.1.5:5555, пишет подключен, а результат такой же...

покопавшись еще, понимаю что надо как-то разрешить прослушивание на 192.168.1.5 по порту 5555, наткнулся на статью: help.ubuntu.ru/wiki/iptables, вычитал из нее про PREROUTING, попробовал вариант:
iptables -t nat -A PREROUTING -p tcp -m tcp -d 192.168.1.6 --dport 5555 -j DNAT --to-destination 192.168.1.5
iptables -t nat -A POSTROUTING -p tcp -m tcp -s 192.168.1.5 --sport 5555 -j SNAT --to-source 192.168.1.6:5555

не идет... голова кипит, не понимаю как это заставить работать... Пожалуйста помогите разобраться (:
  • Вопрос задан
  • 957 просмотров
Пригласить эксперта
Ответы на вопрос 4
fzfx
@fzfx
18,5 дм
что отвечает команда "sestatus", запущенная с привилегиями суперпользователя?
Ответ написан
@Spheniscus
Если Centos версии 7+, то порты пробрасывать легче так:
firewall-cmd --add-port=5555/tcp --permanent
firewall-cmd --reload

После этого попробовать подключиться
Ответ написан
@glebrain Автор вопроса
Spheniscus, получается firewalld это замена Iptables и fail2ban (исходя из статьи https://xakep.ru/2017/02/15/firewalld/ )?
К сожалению на хосте сайты стоят и iptables содержит в себе 93 строки, я боюсь что не смогу настроить корректно firewalld :)
Spheniscus, спасибо за информацию, как один из вариантов решения подойдет на будущее.

Но все таки хотелось бы узнать как настроить iptables?
вроде бы ни чего сложно 2 локальных сервера, соединены через роутер, с Windows на Centos по порту не идет(хотя они видят друг друга в сети), а может наоборот ?
из Centos к Windows по порту 5555 может это проще?
Ответ написан
Комментировать
@krosh
iptables -I INPUT -s 192.168.1.0/24 -m tcp -p tcp --dport 5555 -j ACCEPT

Обратите внимание, что тут опция добавления в начало списка (-I), а вы использовали опцию добавления в конец (-A) списка правил. Я видел в CentOS список в котором последним правилом стоял REJECT, т.е. все что ниже не отрабатывалось. Проверьте у себя.

Хорошо в таких вопросах показывать все правила сразу:
iptables-save
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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