iptables (если сервер и десктоп на одном компе)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС для молодых и начинающих системных администраторов.

Модераторы: SLEDopit, Модераторы разделов

ska
Сообщения: 202
ОС: ALTLinux School Master

iptables

Сообщение ska »

Задача иметь выход в инет самому и раздавать его клиентам. Но почему-то когда я ставлю в качестве политики блокировать входящие, то клиенты инет не получают. Почему? Ведь правило истеблишд рилейтид разрешает входящие.

Код: Выделить всё

IPTABLES=/sbin/iptables

$IPTABLES -F
$IPTABLES -X

$IPTABLES -P INPUT DROP
#$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT ACCEPT

$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT


#$IPTABLES -A INPUT -s 127.0.0.1/255.0.0.0 ! -i lo -j DROP

$IPTABLES -A INPUT   -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i eth1 -s 192.168.0.0/24 -j ACCEPT
$IPTABLES -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPTABLES -A INPUT   -m state --state ESTABLISHED,RELATED -j ACCEPT
Спасибо сказали:
javasc
Сообщения: 52

Re: iptables

Сообщение javasc »

Клиенты используют цепочку forward, но тебе еще нужно использовать действие SNAT или MASQUERADING.

И еще, правильно не так
$IPTABLES -F
$IPTABLES -X
а так:
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -t mangle -F
$IPTABLES -X
"Корпорация интеллекта"
Спасибо сказали:
ska
Сообщения: 202
ОС: ALTLinux School Master

Re: iptables

Сообщение ska »

javasc писал(а):
19.11.2010 09:11
Клиенты используют цепочку forward, но тебе еще нужно использовать действие SNAT или MASQUERADING.

И еще, правильно не так
$IPTABLES -F
$IPTABLES -X
а так:
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -t mangle -F
$IPTABLES -X


да не, с этим мы уже разобрались) (используется маршрутизатор, который уже сам натит- через iptables мне это не надо). Когда политики блокировать входящие нет, то клиенты нормально получают инет.
Спасибо сказали:
Аватара пользователя
mandreika
Сообщения: 217
ОС: Debian 3,4,5,6

Re: iptables

Сообщение mandreika »

Ну какбе
$IPTABLES -A FORWARD -i eth1 -s 192.168.0.0/24 -j ACCEPT
$IPTABLES -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

или клиенты сидят не на eth1 или они не из 192.168.0.0 - 192.168.0.254 диапазона
Спасибо сказали:
alex_suse
Сообщения: 204
ОС: Debian, openSUSE, Gentoo

Re: iptables

Сообщение alex_suse »

Неужели перед DROP трудно поставить LOG, посмотреть, что там будет, а потом уже задавать вопрос.
Спасибо сказали:
ska
Сообщения: 202
ОС: ALTLinux School Master

Re: iptables

Сообщение ska »

alex_suse писал(а):
19.11.2010 10:28
Неужели перед DROP трудно поставить LOG, посмотреть, что там будет, а потом уже задавать вопрос.

можно, сделаю, завтра напишу), режим работы сумашедший - хочется по-быстрому
Спасибо сказали:
ska
Сообщения: 202
ОС: ALTLinux School Master

Re: iptables

Сообщение ska »

Например, сделал так
$IPTABLES -A INPUT -s 192.168.0.2 -j LOG --log-prefix "INPUT DROP: "
В логах получаю такое

Код: Выделить всё

@localhost ~]$ sudo tail -5 /var/log/syslog/messages
Nov 20 17:19:20 localhost kernel: INPUT DROP: IN=eth1 OUT= MAC=00:1c:f0:a7:44:98:00:0d:61:00:02:12:08:00 SRC=192.168.0.2 DST=192.168.0.1 LEN=48 TOS=0x00 PREC=0x00 TTL=128 ID=38886 DF PROTO=TCP SPT=3558 DPT=8090 WINDOW=65535 RES=0x00 SYN URGP=0
Nov 20 17:19:20 localhost kernel: INPUT DROP: IN=eth1 OUT= MAC=00:1c:f0:a7:44:98:00:0d:61:00:02:12:08:00 SRC=192.168.0.2 DST=192.168.0.1 LEN=48 TOS=0x00 PREC=0x00 TTL=128 ID=38887 DF PROTO=TCP SPT=3559 DPT=8090 WINDOW=65535 RES=0x00 SYN URGP=0
Nov 20 17:19:20 localhost kernel: INPUT DROP: IN=eth1 OUT= MAC=00:1c:f0:a7:44:98:00:0d:61:00:02:12:08:00 SRC=192.168.0.2 DST=192.168.0.1 LEN=48 TOS=0x00 PREC=0x00 TTL=128 ID=38888 DF PROTO=TCP SPT=3560 DPT=8090 WINDOW=65535 RES=0x00 SYN URGP=0
Nov 20 17:19:21 localhost kernel: INPUT DROP: IN=eth1 OUT= MAC=00:1c:f0:a7:44:98:00:0d:61:00:02:12:08:00 SRC=192.168.0.2 DST=192.168.0.1 LEN=48 TOS=0x00 PREC=0x00 TTL=128 ID=38889 DF PROTO=TCP SPT=3561 DPT=8090 WINDOW=65535 RES=0x00 SYN URGP=0
Nov 20 17:19:21 localhost kernel: INPUT DROP: IN=eth1 OUT= MAC=00:1c:f0:a7:44:98:00:0d:61:00:02:12:08:00 SRC=192.168.0.2 DST=192.168.0.1 LEN=48 TOS=0x00 PREC=0x00 TTL=128 ID=38890 DF PROTO=TCP SPT=3564 DPT=8090 WINDOW=65535 RES=0x00 SYN URGP=0
Спасибо сказали:
ska
Сообщения: 202
ОС: ALTLinux School Master

Re: iptables

Сообщение ska »

Остановился пока на таком варианте. Хочется узнать ваше мнение, нормально ли)
eth1 это для лан

Код: Выделить всё

#!/bin/bash

IPTABLES=/sbin/iptables

$IPTABLES -F
$IPTABLES -X

$IPTABLES -P INPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT ACCEPT

$IPTABLES -I INPUT 1 -i eth1 -j ACCEPT
$IPTABLES -I INPUT 1 -i lo -j ACCEPT
$IPTABLES -A INPUT -p UDP --dport bootps -i !eth1 -j REJECT
$IPTABLES -A INPUT -p UDP --dport domain -i !eth1 -j REJECT

$IPTABLES -A INPUT -p TCP -i !eth1 -d 0/0 --dport 0:1023 -j DROP
$IPTABLES -A INPUT -p UDP -i !eth1 -d 0/0 --dport 0:1023 -j DROP

$IPTABLES -A INPUT   -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i eth1 -s 192.168.0.0/24 -j ACCEPT
$IPTABLES -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
Спасибо сказали:
Аватара пользователя
Alex2ndr
Сообщения: 443
ОС: Debian Lenny

Re: iptables

Сообщение Alex2ndr »

Правила

Код: Выделить всё

$IPTABLES -A INPUT -p TCP -i !eth1 -d 0/0 --dport 0:1023 -j DROP
$IPTABLES -A INPUT -p UDP -i !eth1 -d 0/0 --dport 0:1023 -j DROP

Можно смело выкинуть, т к политика по умолчанию и так DROP.
Правила с REJECT тоже под вопросом. Лично я бы их тоже выкинул и положился на ту же политику по умолчанию. Разве что нужно сделать именно REJECT...
Кроме того запись вот такого вида: -d 0/0 не нужна. Если вы не хотите ограничивать ip назначения, то просто не пишите этого критерия. Поэтому правило

Код: Выделить всё

$IPTABLES -A INPUT -p TCP -i !eth1 -d 0/0 --dport 0:1023 -j DROP

можно смело сократить до

Код: Выделить всё

$IPTABLES -A INPUT -p TCP -i !eth1 --dport 0:1023 -j DROP

не считая того, что оно не нужно(см. выше).
Спасибо сказали: