361

kisil пишет:

Ну вы заметите по тому что у вас что то не будет работать из за того что фаервол блочит, а так

ifconfig -a
ip a

Ну интерактивно в терминале это понятно. А вот как в скриптах это обработать ?

Debian amd64 13.5.0.

362 (01.04.2013 17:58:48 отредактировано kisil)

bormant пишет:
ifconfig eth1 | grep -w inet | awk '{print $2}' | cut -d: -f2

или

ifconfig eth1 | grep -w inet | cut -d: -f2 | cut -d' ' -f1
user160⇓ пишет:

dhcpcd: command not found

В моём дистрибутиве клиентом DHCP подрабатывает dhcpcd, у вас стало быть кто-то другой. Кто? Точнее, как от него получить сведения о конфигурации интерфейса и что он выдаёт?

Ну не знаю, но можно как то так.
Взять этот вывод что вам bormant написал  и в скрипте его проверять на соотвествие вашему айпи, который вы получили самый первый. А если он не соответствует ему то как то вам сообщить: отправить смс или как?
Но можно как то более красочно сделать. Например при смене айпишки её поменять в конфиге фаервола и перезапустить последний +  сохраник новый айпи в какойто конфиг файл и уже последующие проверки делать с новым айпи.
Вот такой у меня коварный план.

Trouble  in WINDOWS reboot, trouble in UNIX be root.

363

kisil⇓ пишет:

А если он не соответствует ему то как то вам сообщить: отправить смс или как?

Как я понимаю ТС'у нужно, чтобы в этом случае старый ip-адрес в правилах iptables заменился новым.
Зато совсем не понимаю, зачем городить этот огород со скриптами вычисления текущего ip-адреса, вставки его в правила iptables, с регулярной (или по событию) проверкой внезапного изменения ip-адреса, с перезаписью правил iptables для нового ip-адреса. Слишком сложно все это. А если сложно, значит некузяво, хоть и будет работать.

364

Народ, а есть техника в iptables, позволяющая пакеты пытающиеся приходи/уйти за шлюз/роутер через список запрещенных портов не просто drop-ить, а перед этим записать в лог? 
Ясно, что список отправителей получателей надо как-то ограничивать по счётчику, чтобы не переполнить лог.

Как такое реализовать?

Debian amd64 13.5.0.

365

Просто добавьте запись в лог по точно тому же условию перед сбросом пакета:
# iptables -A ... -j LOG --log-prefix "..."
# iptables -A ... -j DROP

366

bormant пишет:

Просто добавьте запись в лог по точно тому же условию перед сбросом пакета:
# iptables -A ... -j LOG --log-prefix "..."
# iptables -A ... -j DROP

А как сделать ограничение через счётчик? Типа если подряд с одного и того же IP отправителя, то писать в лог только один раз.
Без ограничения, боюсь лог будет быстро переполнен.

Debian amd64 13.5.0.

367 (05.04.2013 23:17:46 отредактировано bormant)

man iptables
на предмет lilmit

limit

This module matches at a limited rate using a token bucket filter. A rule using this extension will match until this limit is reached (unless the `!' flag is used). It can be used in combination with the LOG target to give limited logging, for example.
[!] --limit rate[/second|/minute|/hour|/day]
Maximum average matching rate: specified as a number, with an optional `/second', `/minute', `/hour', or `/day' suffix; the default is 3/hour.
--limit-burst number
Maximum initial number of packets to match: this number gets recharged by one every time the limit specified above is not reached, up to this number; the default is 5.

# iptables -A ... -m limit ... -j LOG --log-prefix "..."

368

bormant пишет:

man iptables
на предмет lilmit
....
# iptables -A ... -m limit ... -j LOG --log-prefix "..."

Спасибо, но не совсем то. Надо ограничить по условию: писать в лог не более 1 записи по 1 порту от одного IP источника... скажем ...в минуту, Просто по времени не очень информативно.

Debian amd64 13.5.0.

369

Добрый день.

Подскажите пожалуйста, нужно ли мне создавать отдельные правила по интерфейсу ppp1 (который по сути использует физический интерфейс eth1), если я использую VPN PPTP для доступа в интернет и если в других правилах, я явно делаю ограничения по именам интерфейсов eth0, eth1?

Debian amd64 13.5.0.

370 (07.04.2013 13:12:50 отредактировано bormant)

Нужно. Кроме того, обратите внимание на документацию iptables по MTU, TCPMSS, --clamp-mss-to-pmtu.
Ещё вот эту статью почитайте в дополнение: http://www.opennet.ru/base/net/pppoe_mtu.txt.html

371

user160 пишет:

Добрый день.

Подскажите пожалуйста, нужно ли мне создавать отдельные правила по интерфейсу ppp1 (который по сути использует физический интерфейс eth1), если я использую VPN PPTP для доступа в интернет и если в других правилах, я явно делаю ограничения по именам интерфейсов eth0, eth1?

проще использовать подсети как пример -s 192.168.5.0/24

Ищу дополнительный заработок (удалёнка).
Пьянка без секса – признак алкоголизма.

372

bormant пишет:

Нужно. Кроме того, обратите внимание на документацию iptables по MTU, TCPMSS, --clamp-mss-to-pmtu.
Ещё вот эту статью почитайте в дополнение: http://www.opennet.ru/base/net/pppoe_mtu.txt.html

Спасибо, очень похоже что проблему PPTP MTU я не принял во внимание  ab 

Kettler пишет:
user160 пишет:

Добрый день.

Подскажите пожалуйста, нужно ли мне создавать отдельные правила по интерфейсу ppp1...

проще использовать подсети как пример -s 192.168.5.0/24

В моём случае, эта идея не пройдет. Дома будет локалка eth0: 192.168.Х.Х,
через городскую сетку eth1: 10.Х.Х.Х я получаю IP через VPN PPTP ppp1: 81.Х.Х.Х
тут сети не пересекаются.

Debian amd64 13.5.0.

373

bormant пишет:

Нужно. Кроме того, обратите внимание на документацию iptables по MTU, TCPMSS, --clamp-mss-to-pmtu.
Ещё вот эту статью почитайте в дополнение: http://www.opennet.ru/base/net/pppoe_mtu.txt.html

Там по тексту написано

Сделать это можно следующим образом.
   Используя pppd: добавить в /etc/ppp/pppoe.conf
        CLAMPMSS=1412

Но это для pppoe, а в pptp клиенте такое возможно?

Debian amd64 13.5.0.

374 (07.04.2013 14:53:41 отредактировано bormant)

У pppoe такая настройка есть, у pptp -- нет, поэтому достигаем желаемого при помощи iptables.

эта идея не пройдет

Пройдёт, правила не требуют обязательного критерия -i/-o, обычно условия в терминах адресов ip (--src/--dst) выглядят вполне удобно.

375

Народ, доброго всем дня.
Подскажите пожалуйста по iptables.
Есть мысль включить iptables до поднятия интерфеса init-ом.
Но поскольку IP я получаю от провайдера по DHCP, а также доступ в инет через PPTP, то нужно открыть некоторые порты/протокола для этого.

+ открыть спойлер

DHCP_SERV1="x.x.x.x"
DHCP_SERV2="x.x.x.x"
DNS_SERVER1="x.x.x.x"
DNS_SERVER2="x.x.x.x"

WIF="eth1"

$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP

$IPT -A INPUT -i $LOIF -j ACCEPT
$IPT -A OUTPUT -o $LOIF -j ACCEPT

# DHCPDISCOVER
$IPT -A OUTPUT -i $WIF -p UDP -s 0/0 -d 255.255.255.255 --dport 67 -j ACCEPT
# DHCPOFFER от одного из двух IP DHCP сервера
$IPT -A INPUT -i $WIF -p UDP -s $DHCP_SERV1 -d 255.255.255.255 --dport 68 -j ACCEPT
$IPT -A INPUT -i $WIF -p UDP -s $DHCP_SERV2 -d 255.255.255.255 --dport 68 -j ACCEPT

# DNS пакеты
$IPT -A OUTPUT -i $WIF -p UDP -s $DNS_SERVER1 --source-port 53 -j ACCEPT
$IPT -A OUTPUT -i $WIF -p UDP -s $DNS_SERVER2 --source-port 53 -j ACCEPT
$IPT -A INPUT -i $WIF -p UDP -s $DNS_SERVER1 --destination-port 53 -j ACCEPT
$IPT -A INPUT -i $WIF -p UDP -s $DNS_SERVER2 --destination-port 53 -j ACCEPT

#HTTP
$IPT -A INPUT -i $WIF -p tcp --dport 80 -j ACCEPT
$IPT -A OUTPUT -i $WIF -p tcp --dport 80 -j ACCEPT

Промежуточная задача - получить доступ  ИНЕТ с консоли. Стоит DEBIAN
Что-то не работает. Как только врубаю iptables, Инет отваливается.
Подскажите, пожалуйста в чём ошибка ah

Debian amd64 13.5.0.

376 (15.05.2013 07:01:27 отредактировано WeX)

На машине крутится apache + squid.
Активирован нат: iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Хочу завернуть весь трафик прозрачно на squid, но таким образом, что-бы трафик предназначающийся Apache, не заворачивался, но жестко обламываюсь...

# iptables -t nat -A PREROUTING -i eth0 -p tcp -d ! 192.168.10.4 --dport 80 -j REDIRECT --to-port 3128
Bad argument `192.168.10.4'
Try `iptables -h' or 'iptables --help' for more information.

Нужен совет гуру ab

# uname -a
Linux web 3.2.0-4-686-pae #1 SMP Debian 3.2.41-2 i686 GNU/Linux
# cat /etc/debian_version
7.0

377

WeX⇓ пишет:

# iptables -t nat -A PREROUTING -i eth0 -p tcp -d ! 192.168.10.4 --dport 80 -j REDIRECT --to-port 3128

iptables -t nat -A PREROUTING -i eth0 -p tcp ! -d 192.168.10.4 --dport 80 -j REDIRECT --to-port 3128

378 (28.05.2013 13:03:37 отредактировано Me_Shock)

.snif⇓ пишет:

Небольшой вопросик:
Модно ли в файл интерфейсов добавить строчку типа:
Консоль

pre-up /etc/init.d/iptables

учитывая то, что /etc/init.d/iptables bash скрипт с набором правил

а потом, делая:

update-rc.d some-another-script defaults

получить варнинги на непонятный файл iptables у которого нет хеадера как у всех остальных кто там лежит..?

Согласен со всем, кроме расположения скрипта, ему бы больше подошло такое: pre-up /etc/network/fw_rules ab

надпись на двери старого трамвая: "ВЫХОДА НЕТ!" | ❤windows 8 enterprise

379

Ребята почему у меня правила криво работают. Точнее одно из правил пускает всех с наружки на мой сервер!
И я даже знаю какие строчки за это отвечают:

#Пропускать уже инициорванные, а также их дочерние
iptables -A INPUT -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

#Пропускать новые, инициированные, а также их дочерние
iptables -A OUTPUT -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

Все советуют пропускать уже иницированные и дочерние пакеты на сервер, но смысл в чем, если открыты все порты.

#nmap -P0 111.222.333.444 

Говорит что открыты все порты.

А вот весь простой скрипт:

#!/bin/bash

#Очистка всех цепочек

iptables -F
iptables -F -t nat
iptables -F -t mangle

iptables -X
iptables -X -t nat
iptables -X -t mangle

#Политика по умолчанию - запретить все, что не разрешено
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

#Разрешаем обращение к lo интерфейсу
iptables -A INPUT -i lo -p all -j ACCEPT
iptables -A INPUT -i eth1 -j ACCEPT
iptables -A OUTPUT -o lo -p all -j ACCEPT
iptables -A OUTPUT -o eth1 -j ACCEPT

#Пропускать уже инициорванные, а также их дочерние
iptables -A INPUT -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

#Пропускать новые, инициированные, а также их дочерние
iptables -A OUTPUT -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

#Разрешить пересылку для новых, инициированных, а также их дочерних
iptables -A FORWARD -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

#Разрешаем обращение к почтовым, ssh, ftp серверам из нашей локалки
iptables -A FORWARD -i eth1 -o eth0 -s 192.168.50.0/24 -p tcp -m multiport --dports 22,21,25,110,443

#Разрешаем DNS запросы из нашей локальной сети

iptables -A FORWARD -i eth1 -o eth0 -s 192.168.50.0/24 -p udp -m multiport --dports 53

#Разрешаем пинги с внутреннего интерфейса
iptables -A INPUT -i eth1 -p ICMP -j ACCEPT
iptables -A OUTPUT -o eth1 -p ICMP -j ACCEPT

#Настройка NAT и редирект на прокси сервер Squid
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3128
iptables -t nat -A POSTROUTING -s 192.168.50.2/255.255.255.0 -j SNAT --to-source 10.168.50.45

380

AlfaStriker⇓ пишет:

пускает всех с наружки на мой сервер

Через eth1?

381 (15.07.2013 09:54:12 отредактировано AlfaStriker)

Через eth0 - карта которая подключена к провайдеру.
Я понял в чем косяк, не внимательно вписал правило.
Надо было убрать NEW из цепочки INPUT:

#Пропускать уже инициированные, а также их дочерние
iptables -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT

В общем, я допустил ошибку, добавил туда пропускать "Новые", как раз это давало такой эффект.

382

AlfaStriker, ну, да, NEW и пропускал.

383

Дааа =), лажанулся.

384

AlfaStriker, Ничего страшного, не ошибается только тот, кто ничего не делает ab

385 (15.07.2013 12:58:49 отредактировано AlfaStriker)

Теперь не получается открыть DNS порт под номером 53:

#Разрешаю доступ по 53 порту к серверу и обратно
#eth0 - внешная карточка
iptables -A INPUT -i eth0 -p udp --dport 53
iptables -A OUTPUT -o eth0 -p udp --sport 53
iptables -A INPUT -i eth0 -p tcp --dport 53
iptables -A OUTPUT -o eth0 -p tcp --sport 53

Пытаюсь telnet проверит порт ни чего не получается, он закрыт!

# iptables -n -L -v
Chain INPUT (policy DROP 1260 packets, 76879 bytes)
 pkts bytes target     prot opt in     out     source               destination         
 7508  675K ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
 3044  221K ACCEPT     all  --  eth1   *       0.0.0.0/0            0.0.0.0/0           
 1846 2157K ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
    0     0 ACCEPT     icmp --  eth1   *       0.0.0.0/0            0.0.0.0/0           
    5   272            tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:22 
    8   480            tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:53 

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW,RELATED,ESTABLISHED 
    0     0            tcp  --  eth1   eth0    10.168.50.0/24       0.0.0.0/0           multiport dports 22,21,25,53,110,143,443 

Chain OUTPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
 7508  675K ACCEPT     all  --  *      lo      0.0.0.0/0            0.0.0.0/0           
 3791  529K ACCEPT     all  --  *      eth1    0.0.0.0/0            0.0.0.0/0           
 1130 93263 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state NEW,RELATED,ESTABLISHED 
    0     0 ACCEPT     icmp --  *      eth1    0.0.0.0/0            0.0.0.0/0           
    0     0            tcp  --  *      eth0    0.0.0.0/0            0.0.0.0/0           tcp spt:22 
    0     0            tcp  --  *      eth0    0.0.0.0/0            0.0.0.0/0           tcp spt:53 

386

AlfaStriker⇓ пишет:

#Разрешаю доступ по 53 порту к серверу и обратно

И где Вы там разрешаете? Где -j ACCEPT?

387

Извиняюсь  ab , у меня сегодня глаза замыленые с утра.

388

Как узнать закрыты/открыты ли порты 1541 и 1560:1691? А так хотел узнать, в Debian блокируются подключения на определенные порты?

389

AlfaStriker⇓ пишет:

Теперь не получается открыть DNS порт под номером 53:

На сервере должно быть запущено приложение, которое принимает на этот порт соединения.

390

Nigelist пишет:

Как узнать закрыты/открыты ли порты 1541 и 1560:1691? А так хотел узнать, в Debian блокируются подключения на определенные порты?

Обычно сканируют с помощью;

nmap -P0 111.222.333.444 

где:
111.222.333.444  - ip адрес сервера.

Nigelist пишет:
AlfaStriker⇓ пишет:

Теперь не получается открыть DNS порт под номером 53:

На сервере должно быть запущено приложение, которое принимает на этот порт соединения.

Я в курсе, демон был запущен, проблема давно уже решена =)