LINUX.ORG.RU
ФорумAdmin

Не открываются порты на Debian, пожалуйста помогите.

 , ,


0

1

Уже битый час мучаюсь с открытием портов на Debian, на роутере они 100% проброшены, т.к. на Windows все работает. Вот лог iptables-save

# Generated by iptables-save v1.4.14 on Tue Aug 25 23:15:10 2015
*filter
:INPUT ACCEPT [118:10845]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [596:34701]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p udp -m udp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A OUTPUT -p udp -m udp --dport 22 -j ACCEPT
COMMIT
# Completed on Tue Aug 25 23:15:10 2015

Вроде все должно быть правильно, помогите.

Ответ на: комментарий от targitaj

Вообщем я убрал все лишнее, получилось вот:

# Generated by iptables-save v1.4.14 on Wed Aug 26 00:04:55 2015
*filter
:INPUT ACCEPT [262:67552]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [265:28360]
-A INPUT -p udp -m udp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
COMMIT
# Completed on Wed Aug 26 00:04:55 2015

Но 2ip.ru все равно утверждает, что порт 22 закрыт

Slezzer
() автор топика
Ответ на: комментарий от targitaj

Я не знаю, это само дописывается, изначально я прописываю это:

iptables -A INPUT -p udp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

А затем при «iptables-save» появляется это:

-m udp
-m tcp

Slezzer
() автор топика
Ответ на: комментарий от Slezzer

iptables -A INPUT -p udp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Здесь вроде норм всё.
Ок, попробуем с другой стороны. Открываешь на нужной машине терминал и вбиваешь telnet твой_ip 22. Начни проверять с локахоста. telnet 127.0.0.1 22 Если демон слушает и есть доступ то ты увидишь приветствие.

targitaj ★★★★★
()
Последнее исправление: targitaj (всего исправлений: 1)
Ответ на: комментарий от Slezzer

Так, уже что-то. Я правильно понимаю, что машина с линупсом? Если линупс, то тогда давай вывод типа такого

netstat -lpnt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address >State PID/Program name
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 1393/smbd
tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN 2194/dnsmasq
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 2191/dnsmasq
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1703/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 11424/cupsd
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 1393/smbd
tcp 0 0 0.0.0.0:50724 0.0.0.0:* LISTEN 6430/skype
tcp 0 0 127.0.0.1:30666 0.0.0.0:* LISTEN 6460/Viber
tcp6 0 0 :::139 :::* LISTEN 1393/smbd
tcp6 0 0 :::22 :::* LISTEN 1703/sshd
tcp6 0 0 ::1:631 :::* LISTEN 11424/cupsd
tcp6 0 0 :::445 :::* LISTEN 1393/smbd

targitaj ★★★★★
()
Ответ на: комментарий от beastie
*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -j ACCEPT
COMMIT

Это тебе будет больше, чем достаточно.

beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 1)
Ответ на: комментарий от Slezzer

но через 135 подключается

к чему? Кто приветствует?

targitaj ★★★★★
()
Ответ на: комментарий от targitaj

Во первых это глупость, во вторых у него и так всё открыто. Т.ч. проблема не в iptables.

Интересно, пакет openssh-server вообще стоит? Т.е. есть вообще, кто слушает?

beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 1)
Ответ на: комментарий от beastie

openssh-server стоит, и не смотря на то что все открыто в iptables, 2ip показывает что порты закрыты(в роутере я все пробросил)

Slezzer
() автор топика
Ответ на: комментарий от targitaj

telnet проверял на windows, и даже на ведроиде, а на счет 135 порта, то при подключении просто коммандная строка становится пустой

Slezzer
() автор топика
Ответ на: комментарий от beastie

Ща попробую сделать как ты советовал выше:

*filter
:INPUT DROP [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -j ACCEPT
COMMIT
Slezzer
() автор топика
Ответ на: комментарий от Slezzer

Если мы говорим про доступ к машине с линупсом, то 22 порт должен слушать ssh сервер. Если он установлен, запущен и работает нормально, то в выводе netstat -lptn ты увидишь строчку типа такого

tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -

Если этого нет, то твой ssh сервер тупо не работает.

targitaj ★★★★★
()
Ответ на: комментарий от targitaj
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name

Вообще хочу сказать, что мне нужно просто пробросить порт, что бы он был открыт, ssh я привел к примеру, с остальными портами тоже самое

Slezzer
() автор топика
Ответ на: комментарий от Slezzer

Ну, вот с этого и надо было начинать, а не iptabes мучать. ;)

Подозреваю, что это VPS без поддержки IPv6, а в /etc/hosts localhost указан как ::1.

Пробуй тогда:

slogin 127.0.0.1

beastie ★★★★★
()
Ответ на: комментарий от Slezzer

Метаться и тратить время не надо. Надо пройти по цепочке проверки. По-порядку.
глянуть что есть в выводе ps -ef | grep ssh
если процессы есть, то глянуть слушается ли порт netstat -lpnt
если порт слушается, попробовать подцепиться к нему локально telnet 127.0.0.1 22
если порт слушается, попробовать подцепиться к нему локально telnet адрес_в_локале 22
если локальное подключение есть, попробовать из локалки
Всё вышесказанное, кроме после последней строчке, надо делать на самой машине с линупсом. Не прыгать, не метаться, следовать протоколу проверки.

targitaj ★★★★★
()
Ответ на: комментарий от Slezzer

Вообще хочу сказать, что мне нужно просто пробросить порт, что бы он был открыт, ssh я привел к примеру, с остальными портами тоже самое

ssh - хороший выбор для проверки. Сделай его, потом по примеру сделаешь остальное.

targitaj ★★★★★
()
Ответ на: комментарий от beastie

Вопрос ещё, если этот сервер в DMZ, зачем ты вообще файрвол мучаешь — этим можно и позже заняться. По умолчанию в линуксе все порты открыты.

Т.ч. что-то ты не так пробрасываешь.

beastie ★★★★★
()
Ответ на: комментарий от beastie

Подключился

The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established.
ECDSA key fingerprint is 06:a6:6d:b5:2c:61:bf:35:11:d0:1d:3a:dc:09:69:51.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '127.0.0.1' (ECDSA) to the list of known hosts.

Slezzer
() автор топика
Ответ на: комментарий от Slezzer

Go to step 2 — проверь из локалки. Если и от туда всё работает (а оно скорей всего так и будет) — смотри что ты там и куда пробрасываешь.

beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 1)
Ответ на: комментарий от targitaj

ps -ef | grep ssh

root      2683  2660  0 01:22 ?        00:00:00 /usr/bin/ssh-agent /usr/bin/ck-launch-session /usr/bin/dbus-launch --exit-with-session x-session-manager
root      3453     1  1 01:33 tty1     00:00:01 leafpad /etc/ssh/sshd_config
root      3539  3471  0 01:34 pts/0    00:00:00 grep ssh

netstat -lpnt

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name

telnet 127.0.0.1 22

Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused

Если ssh в локалке запущен то telnet 127.0.0.1 22 работает, а если он в инете запущен, то 127.0.0.1 22 не работает

Slezzer
() автор топика
Ответ на: комментарий от beastie

Вообщем, если ssh в локале, то у меня все конектятся (кто у меня в локалке конечно же), и telnet работает, но если у меня ssh в инете то никто не может подключиться, и соответственно telnet не работает

Slezzer
() автор топика
Ответ на: комментарий от targitaj

Боже, я ламер как-то победил эту заразу, вообщем теперь у меня все работает и конектится со всего к ssh, не могу понять что это было, но теперь все норм, может дело в том что я просто в iptables убрал все правила и оставил открытыми все порты, но теперь работает. За мое ламерство, извини (только пол недели опыта в линуксе, для меня это местами сложно). Спасибо большое за помощь

Slezzer
() автор топика
Ответ на: комментарий от Slezzer

Переведи «ssh в локале» и «ssh в инете» — я не понимаю о чём речь.

ssh у тебя на хосте, хост имеет адрес. По этому адресу ты, похоже что, можешь подключится.

Если я правильно догадываюсь, ты пробросил порты на роутере и пытаешься из локалки подключится к хосту по внешнему адресу. Так?

Так вот, это в общем случае работать не будет. Проверяй по-настоящему «с наружи».

beastie ★★★★★
()
Последнее исправление: beastie (всего исправлений: 1)
Ответ на: комментарий от beastie

Вообщем все заработало, об этом я написал выше, спасибо большое за понимание и помощь :)

Slezzer
() автор топика
Ответ на: комментарий от Slezzer

Не страшно, всё придёт. Пробуй побольше и читай. Читать без проб бесполезно.

targitaj ★★★★★
()

порты на дебиане по дефолту открыты, другой вопрос если их никто у тебя не слушает

axelroot
()

у тебя в политиках все можно, за каким ты втыкаешь эти правила?

axelroot
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.