LINUX.ORG.RU
ФорумAdmin

вопрос по iptables


0

1

Debian 6 конфиг

#!/bin/bash
#этот модуль позволяет работать с ftp в пассивном режиме
#modprobe nf_conntrack_ftp
#очистка цепочек
iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT
iptables -t nat -F PREROUTING
iptables -t nat -F POSTROUTING
iptables -t mangle -F

#Запрет всего
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

#включение логов iptables
#префиксы сообщений iptables 
#iptables -A INPUT -p tcp  -j LOG --log-prefix "input tcp"
#iptables -A INPUT -p icmp -j LOG --log-prefix "input icmp"
#логи входящих tcp udp icmp
#iptables -A INPUT -j LOG --log-level 4


#разрешаем все входящие пакеты на интрефейс замыкания на себя иначе ничего не работает 
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT 
#РАЗРЕШЕНЫ ТОЛЬКО ВХОДЯЩИЕ СОЗДАННЫЕ НАШИМИ ИСХОДЯЩИМИ
iptables -A INPUT -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT 
iptables -A INPUT -p UDP -m state --state ESTABLISHED,RELATED -j ACCEPT
#разрешаем любые входящие и исходящие по icmp
iptables -A INPUT -p icmp -j ACCEPT

iptables -A OUTPUT -p icmp -j ACCEPT
#разрешаем подключение по  ssh INPUT разрешаем для того чтобы было можно конектится с любой тачки посети  
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 22 -j ACCEPT

пинги идут пытаюсь прицепиться по ssh на эту тачку debiantest:~# ssh 192.168.3.25 ssh: connect to host 192.168.3.25 port 22: Connection timed out

с неё к другой нормально присоединяюсь

★★

Последнее исправление: drac753 (всего исправлений: 2)

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

вылез такой касяк - после подключения по ssh к удалённой машине на ней долго запускается mc. В вчём может быть косяк ? iptables

#!/bin/bash
#этот модуль позволяет работать с ftp в пассивном режиме
#modprobe nf_conntrack_ftp
#очистка цепочек
iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT
iptables -t nat -F PREROUTING
iptables -t nat -F POSTROUTING
iptables -t mangle -F

#Запрет всего
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

#включение логов iptables
#префиксы сообщений iptables 
#iptables -A INPUT -p tcp  -j LOG --log-prefix "input tcp"
#iptables -A INPUT -p icmp -j LOG --log-prefix "input icmp"
#логи входящих tcp udp icmp
#iptables -A INPUT -j LOG --log-level 4


#разрешаем все входящие пакеты на интрефейс замыкания на себя иначе ничего не работает 
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT 
#РАЗРЕШЕНЫ ТОЛЬКО ВХОДЯЩИЕ СОЗДАННЫЕ НАШИМИ ИСХОДЯЩИМИ
iptables -A INPUT -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT 
iptables -A INPUT -p UDP -m state --state ESTABLISHED,RELATED -j ACCEPT
#разрешаем любые входящие и исходящие по icmp
iptables -A INPUT -p icmp -j ACCEPT

iptables -A OUTPUT -p icmp -j ACCEPT
#разрешаем подключение по  ssh INPUT разрешаем для того чтобы было можно конектится с любой тачки посети  
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT

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

dns конечно стоит открыть, но вряд ли при подключении по локалке через ssh используется dns. tcpdump на удаленной машине поможет понять в чем дело.

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

Помню, какие-то сборки mc что-то пытались резолвить при старте, а с его правилами это определенно вызовет ступор.

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

Ну тогда так:

iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT

и будет ТС счастье. Или если хочется совсем секурно, то прописать конкретный dns в правилах.

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

1. А прописать в hosts на удаленной машине IP-адрес станции с которой заходишь, что измениться?

2. Форвард разрешить между lo и ethX.

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

Хрен его знает, если честно. Вот куда может ломиться mc?

А форвард зачем? Какие пакеты по нему могут идти?

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

Еще mc может ломиться к иксам, если в ssh включен x11-forwarding

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

Мне кажется, решение кроется в добавлении к скрипту строки

iptables -I OUTPUT -j LOG
И смотреть потом в логах, куда и зачем ломится mc и делать выводы уже.

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

Привёл конфиг к такому виду

#!/bin/bash
#этот модуль позволяет работать с ftp в пассивном режиме
modprobe nf_conntrack_ftp
#очистка цепочек
iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT

#Запрет всего
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

#включение логов iptables
iptables -I OUTPUT -o eth0 -j LOG
#префиксы сообщений iptables
#iptables -A INPUT -p tcp  -j LOG --log-prefix "input tcp"
#iptables -A INPUT -p icmp -j LOG --log-prefix "input icmp"
#логи входящих tcp udp icmp
#iptables -A INPUT -j LOG --log-level 4


#разрешаем все входящие пакеты на интрефейс замыкания на себя иначе ничего не работает 
iptables -A INPUT -i lo -j ACCEPT
#РАЗРЕШЕНЫ ТОЛЬКО ВХОДЯЩИЕ СОЗДАННЫЕ НАШИМИ ИСХОДЯЩИМИ
iptables -A INPUT -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p UDP -m state --state ESTABLISHED,RELATED -j ACCEPT

#разрешаем любые входящие и исходящие по icmp
iptables -A INPUT -p icmp -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT

#разрешаем доступ из сети на порты 21(ftp),22(ssh),53(dns)
iptables -A INPUT -p tcp --sport 22
iptables -A INPUT -i eth0 -p tcp -m multiport --dport 21,22,53 -j ACCEPT

#разрешаем исходящий на локальное зеркало
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE # Маскарадим весь трафик, идущий через eth0
И все нормализовалось

Еще один вопрос уменя два интерфейса etho и виртуальный ppp0 , который появляется при подключении к нету , вопрос следующего вида для того чтобы разрешить доступ с нета по ssh на мой комп мне надо добавить правило след вида ?

iptables -A INPUT -i ppp0 -p tcp --dport 22 -j ACCEPT  

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

Во-первых, очень странно выглядит правило

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE # Маскарадим весь трафик, идущий через eth0
Может стоит указать входящий интерфейс (-i eth0) или диапазон адресов локальной сети (-s 192.168.0.0/24), а то у меня подозрения, что локальный трафик исходящий тоже начнет маскарадить, а это нафиг не нужно.

Во-вторых, правильно.

В-третьих, раз уж начали использовать таблицу nat, то необходимо ее очистить в начале:

iptables -t nat -F POSTROUTING

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

Поправил

это правило  отбросил маскарадинг пока не требуется 
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE # Маскарадим весь трафик, идущий через eth0
итог
#!/bin/bash
#этот модуль позволяет работать с ftp в пассивном режиме
modprobe nf_conntrack_ftp
#очистка цепочек
iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT
iptables -t nat -F PREROUTING
iptables -t nat -F POSTROUTING
iptables -t mangle -F
#Запрет всего
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

#включение логов iptables
#iptables -I OUTPUT -o eth0 -j LOG
#префиксы сообщений iptables
#iptables -A INPUT -p tcp  -j LOG --log-prefix "input tcp"
#iptables -A INPUT -p icmp -j LOG --log-prefix "input icmp"
#логи входящих tcp udp icmp
#iptables -A INPUT -j LOG --log-level 4


#разрешаем все входящие пакеты на интрефейс замыкания на себя иначе ничего не работает 
iptables -A INPUT -i lo -j ACCEPT
#РАЗРЕШЕНЫ ТОЛЬКО ВХОДЯЩИЕ СОЗДАННЫЕ НАШИМИ ИСХОДЯЩИМИ
iptables -A INPUT -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p UDP -m state --state ESTABLISHED,RELATED -j ACCEPT
#Правила повышающие безопасность
#Блочим входящие tcp соединения не syn пакетом (либо ошибка либо атака)
iptables -I INPUT -m conntrack --ctstate NEW -p tcp ! --syn -j DROP
iptables -I INPUT -m conntrack --ctstate NEW,INVALID -p tcp --tcp-flags SYN,ACK SYN,ACK -j REJECT
#разрешаем любые входящие и исходящие по icmp
iptables -A INPUT -p icmp -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT

#разрешаем доступ из сети на порты 21(ftp),22(ssh),53(dns),9999(внутрисетевой репозитраий)
iptables -A INPUT -i eth0 -p tcp -m multiport --dport 21,22,53 -j ACCEPT
#доступ из нета по ssh 
iptables -A INPUT -i ppp0 -p tcp -m multiport --dport 22 -j ACCEPT

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