LINUX.ORG.RU
решено ФорумAdmin

Нет доступа по :80 и :21


0

1

Всем привет! Есть домашняя сеть из двух компов, на одном из них стоит CentOS 6. Со второго компа без проблем попадаю на него по ssh, однако по ftp и http - никак.

# netstat -a
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      0 *:mysql                     *:*                         LISTEN
tcp        0      0 *:http                      *:*                         LISTEN
tcp        0      0 *:ssh                       *:*                         LISTEN
tcp        0      0 192.168.0.240:ssh           www.bak2.192.1:shadowserver ESTABLISHED
tcp        0      0 192.168.0.240:ssh           www.bak2.192.168.0.1:mpnjsc ESTABLISHED
tcp        0      0 192.168.0.240:ssh           www.bak2.192.168.0.:stun-p1 ESTABLISHED
tcp        0      0 *:webcache                  *:*                         LISTEN
tcp        0      0 *:ftp                       *:*                         LISTEN
tcp        0      0 *:ssh                       *:*                         LISTEN
udp        0      0 *:bootpc                    *:*
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node Path
unix  2      [ ACC ]     STREAM     LISTENING     8484   /var/run/proftpd.sock
unix  3      [ ]         DGRAM                    10248  /dev/log
unix  2      [ ACC ]     STREAM     LISTENING     6850   @/com/ubuntu/upstart
unix  2      [ ]         DGRAM                    6987   @/org/kernel/udev/udevd
unix  2      [ ACC ]     STREAM     LISTENING     8208   /var/run/dbus/system_bus_socket
unix  2      [ ACC ]     STREAM     LISTENING     8422   /var/lib/mysql/mysql.sock
unix  2      [ ACC ]     STREAM     LISTENING     8476   /var/run/proftpd.sock
unix  3      [ ]         STREAM     CONNECTED     13871
unix  3      [ ]         STREAM     CONNECTED     13870
unix  3      [ ]         STREAM     CONNECTED     13868
unix  3      [ ]         STREAM     CONNECTED     13867
unix  3      [ ]         STREAM     CONNECTED     13866
unix  3      [ ]         STREAM     CONNECTED     13865
unix  3      [ ]         STREAM     CONNECTED     13864
unix  3      [ ]         STREAM     CONNECTED     13863
unix  3      [ ]         STREAM     CONNECTED     13862
unix  3      [ ]         STREAM     CONNECTED     13861
unix  3      [ ]         STREAM     CONNECTED     13860
unix  3      [ ]         STREAM     CONNECTED     13859
unix  3      [ ]         STREAM     CONNECTED     13858
unix  3      [ ]         STREAM     CONNECTED     13857
unix  3      [ ]         STREAM     CONNECTED     13856
unix  3      [ ]         STREAM     CONNECTED     13855
unix  3      [ ]         STREAM     CONNECTED     13854
unix  3      [ ]         STREAM     CONNECTED     13853
unix  3      [ ]         STREAM     CONNECTED     13852
unix  3      [ ]         STREAM     CONNECTED     13851
unix  2      [ ]         DGRAM                    10274
unix  2      [ ]         DGRAM                    9553
unix  3      [ ]         STREAM     CONNECTED     9204
unix  3      [ ]         STREAM     CONNECTED     9203
unix  2      [ ]         DGRAM                    9200
unix  2      [ ]         DGRAM                    8704
unix  2      [ ]         DGRAM                    8491
unix  3      [ ]         STREAM     CONNECTED     8220   /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     8219
unix  3      [ ]         STREAM     CONNECTED     8213
unix  3      [ ]         STREAM     CONNECTED     8212
unix  3      [ ]         DGRAM                    7004
unix  3      [ ]         DGRAM                    7003



# iptables -L
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
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:http
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ftp
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ftp
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:webcache

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

При этом сканер портов показывает, что 80 открыт, а 21 закрыт. telnet 127.0.0.1 80 и telnet 127.0.0.1 21 работают правильно.

Как мне получить доступ по этим портам?

Ответ на: комментарий от anton_jugatsu
# iptables-save
# Generated by iptables-save v1.4.7 on Mon Nov 21 08:02:59 2011
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [323:51638]
-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 -j REJECT --reject-with icmp-host-prohibited
-A INPUT -i eth0 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 8080 -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Mon Nov 21 08:02:59 2011

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

После остановки iptables все заработало! Пятая строчка - не знаю. Единственное, что я делал с iptables, это

iptables -A INPUT -p tcp -i eth0 --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -i eth0 --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -i eth0 --dport 8080 -j ACCEPT

Я не очень хорошо разбираюсь в linux, поэтому не совсем понимаю, какие правила должны присутствовать, а какие нет. А можно как-то настроить работу с включенным iptables?

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

Да, можно, вместо -A использовать -I, то есть

iptables -I INPUT -p tcp -i eth0 --dport 80 -j ACCEPT
iptables -I INPUT -p tcp -i eth0 --dport 21 -j ACCEPT
iptables -I INPUT -p tcp -i eth0 --dport 8080 -j ACCEPT

ну у удалить добавленные ранее строки.

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

Правила с срабатывают по порядку ... тоесть если ты в самом начале добавил блокировку (DROP) то после данного правила, делай ACCEPT не делай всё равно получишь DROP.. =)

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

:INPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -P INPUT REJECT спасет отца русской демократии :)

Почитай про policy и тогда вторая строчка в цитате будет иметь смысл :]

-A INPUT -j REJECT --reject-with icmp-host-prohibited

А это правило отправляет в реджект любой пакет, кроме тех, которые прошли по правилам, выше этого по списку.

И вообще, строчка -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT становится абсолютно бессмысленна если полиси не настроено в REJECT. Впрочем, как и та, из первой цитаты.

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

>И вообще, строчка -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT становится абсолютно бессмысленна если полиси не настроено в REJECT

Разве стандартную политику можно ставить в REJECT ? Помоему там может быть только DROP или ACCEPT ...

И кстате можно получить такой же результат как и "-P INPUT DROP" добавив REJECT/DROP в самый низ цепочки...

Tok ★★
()

Всем спасибо, разобрался! Все работает!

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