Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: HOWTO: Iptables для новичков  (Прочитано 530305 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Rodger

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #240 : 27 Января 2009, 17:08:59 »
Ребята помогите разобраться... вроде работает но не так как надо!
имеем iptables v1.4.1.1 (поставленный из тарболов) и ubuntu 8.04.

cat test.sh
----
#!/bin/bash

IPT="/sbin/iptables"

$IPT -F
$IPT -A INPUT -i eth0 -p icmp -d 10.0.0.11 -m quota --quota 1024000 -j ACCEPT
$IPT -A INPUT -i eth0 -p icmp -d 10.0.0.11 -j DROP
--

iptables -L
выводит следующее.. причем все это живет своей жизнью. ((((((((((((

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     icmp --  anywhere             anywhere            quota: 1024000 bytes
DROP       icmp --  anywhere             10.0.0.11
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     icmp --  anywhere             anywhere            quota: 989914 bytes
DROP       icmp --  anywhere             10.0.0.11
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     icmp --  anywhere             anywhere            quota: 1024000 bytes
DROP       icmp --  anywhere             10.0.0.11

----
как заставит правильно считаться квоту, точнее не сбрасывать ее. :((((((((
или скажите что не так делаю..

Заранее спасибо!

Извращенец

  • Гость
Re: HOWTO: Iptables для новичков
« Ответ #241 : 27 Января 2009, 19:12:58 »
Чудеса и удивительности.
Дано: есть Ubuntu 8.04 сервер. Две сетевых карты eth0 (локалка) и eth1 (интернет).
Задача: достучаться снаружи до MicrosoftSQL снаружи.

Команды
iptables -I INPUT -p tcp --dport 1433 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp --dport 1433 -j DNAT --to 194.**.**.171:1433
iptables -I FORWARD -i eth1 -p tcp --dport 1433 --destination 194.**.**.171 -j ACCEPT

Результат: внутри локальной сети телнет на порт 1433 машины 171 прекрасно проходит, но снаружи доступа нет.
При этом nmap портов снаружи показывает, что порт 1433 у меня filtered.
Что я неправильно делаю (или понимаю)?

Оффлайн dmen

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #242 : 28 Января 2009, 06:09:05 »
Заранее извиняюсь ,у меня ситуация анекдотичная - не работает общий выход в интернет ,причем
построенный на простейшем примере приведенном в статье т.е.
sysctl -w net.ipv4.ip_forward="1"
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

ОС Ubuntu 8.04
Для этого компьютера интернет есть, для других в сети нет
Подозреваю что я не сделал каких-то элементарных действий , но опыта с Linuxом нет ,а от попыток найти ответ в документации в голове каша
     Если кто-то ответит то вот подробности:
Установка с LiveCD -обновление-русификация-установка Samba(сеть Windows)-в сети доступен и доступны папки других компьютеров-в iptables только одно правило введенное мной в терминале разрешающее маскарадинг, остальные по умочанию ACCEPT-общего доступа нет.
     Очень надеюсь на подсказки хотя бы общего характера (как убедится что форвардинг действительно работает ,как в окне терминала увидеть текущую работу iptables ,нужно ли как-то
принудительно включать iptables еще раз извиняюсь ,наверное я туп)


Извращенец

  • Гость
Re: HOWTO: Iptables для новичков
« Ответ #243 : 28 Января 2009, 10:56:24 »
Подробности, да не те. Маскарадинг имеет смысл для раздачи интернета из локалки вовне при динамическом IP. Не указано: на каком компьютере установлен сервер с убунтой - на том, который имеет два сетевых интерфейса, или на том, который в локалке? Судя по команде Маскарадинга, у вас меняется IP машины? Иначе непонятно, зачем она вообще нужна...
Кроме того, не указано, был ли интернет ДО введения команды маскарадинга - может, дело не в iptables, а настройках сети?
Проверить можно очистив цепочку НАТ
Цитировать
iptables -t nat -F
проверив результат
iptables -t nat -Lесли после этого интернет появился - значит, неправильно применена команда. Мне (отсюда) кажется, что копать надо не iptables а маршрутизацию.
« Последнее редактирование: 28 Января 2009, 11:01:59 от Извращенец »

Извращенец

  • Гость
Re: HOWTO: Iptables для новичков
« Ответ #244 : 30 Января 2009, 10:39:10 »
Что я неправильно делаю (или понимаю)?
Господа Гуру!
Подскажите, все-таки, это я неправильно понимаю правила маршрутизации и фильтрации, или это глюк Убунты?
Грубо говоря - писать в багрепорт, или читать мануалы?

Оффлайн -sanches-

  • Любитель
  • *
  • Сообщений: 68
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #245 : 01 Февраля 2009, 20:03:39 »
2 Извращенец
Попробуй так
iptables -t nat -A PREROUTING -p tcp --dport 1433  -m state  --state NEW,ESTABLISHED,RELATED -j DNAT --to-destination 194.**.**.171:1433
В FORWARD тоже нади испотльзовать -m state  --state NEW,ESTABLISHED,RELATED
« Последнее редактирование: 01 Февраля 2009, 20:05:21 от -sanches- »
C2D 6550, P5K-V, 7900GT

Оффлайн tp123

  • Любитель
  • *
  • Сообщений: 60
  • я еще тока учусь.
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #246 : 02 Февраля 2009, 03:25:04 »
Как добавить новый модуль в iptable, напиример мне нужен iplimit

Оффлайн MadKox

  • Активист
  • *
  • Сообщений: 441
  • =)
    • Просмотр профиля
    • Моя страница на Launchpad
Re: HOWTO: Iptables для новичков
« Ответ #247 : 02 Февраля 2009, 12:45:12 »
/sbin/depmod -a
/sbin/modprobe ipt_limit
Нужно добавить в скрипт настройки iptables. Если же используется iptables-restore, то в виде отдельного скрипта.
Homo homini admini est...

Извращенец

  • Гость
Re: HOWTO: Iptables для новичков
« Ответ #248 : 03 Февраля 2009, 15:13:14 »
2 Извращенец
Попробуй так
iptables -t nat -A PREROUTING -p tcp --dport 1433  -m state  --state NEW,ESTABLISHED,RELATED -j DNAT --to-destination 194.**.**.171:1433
В FORWARD тоже нади испотльзовать -m state  --state NEW,ESTABLISHED,RELATED
Спасибо, попробовал.
Нифига!
Причем, в этой конфигурации команда nmap не дает порт 1433 вообще.

Оффлайн -sanches-

  • Любитель
  • *
  • Сообщений: 68
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #249 : 03 Февраля 2009, 21:17:47 »
2 Извращенец
Попробуй так
iptables -t nat -A PREROUTING -p tcp --dport 1433  -m state  --state NEW,ESTABLISHED,RELATED -j DNAT --to-destination 194.**.**.171:1433
В FORWARD тоже нади испотльзовать -m state  --state NEW,ESTABLISHED,RELATED
Спасибо, попробовал.
Нифига!
Причем, в этой конфигурации команда nmap не дает порт 1433 вообще.
А если так ?
iptables -t nat -A PREROUTING -p tcp -d <ВНЕШНИЙ IP> --dport 1433  -m state  --state NEW,ESTABLISHED,RELATED -j DNAT --to-destination 194.**.**.171:1433
Кстати, если не открыт порт на внешнем интерфесе, то возможно он закрыт каким-то еще правилом.  В последовательности правил срабатывает первое подходящее для заданного условия.
« Последнее редактирование: 03 Февраля 2009, 21:21:04 от -sanches- »
C2D 6550, P5K-V, 7900GT

Оффлайн ValehO

  • Новичок
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #250 : 09 Февраля 2009, 08:00:31 »
Попробую написать и тут. Есть комп с 2 сетевыми . Инет идёт через vpn на интерфейсе eth0 -
Пробую хотя бы просто организовать шлюз для выхода в интернет.
sudo sysctl -w net.ipv4.ip_forward="1"
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Интернета так и нет%)


Оффлайн -sanches-

  • Любитель
  • *
  • Сообщений: 68
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #251 : 09 Февраля 2009, 10:14:40 »
Попробую написать и тут. Есть комп с 2 сетевыми . Инет идёт через vpn на интерфейсе eth0 -
Пробую хотя бы просто организовать шлюз для выхода в интернет.
sudo sysctl -w net.ipv4.ip_forward="1"
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Интернета так и нет%)
Аналогичная ситуация.
iptables -t nat -A POSTROUTING -s 192.168.168.0/30                       -j SNAT --to-source 88.170.54.81
Интернет есть)
C2D 6550, P5K-V, 7900GT

Оффлайн Tugarin

  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #252 : 09 Февраля 2009, 14:18:14 »
Ребята, у меня проблема такая, после перехода на анлим появилось куча новых возможностей :) , а torrent не работает. Сам firewall писал мне хороший друг, я лишь попытался сиволапо дописать правила, чтоб   торрент-клиент на виндовой машине работал, но не получается, не работает торрент, не хочет качать. Вот что у меня есть, в чем проблема?
modprobe ip_conntrack
modprobe ip_conntrack_ftp
modprobe iptable_nat
modprobe ip_nat_ftp

#--Constants
IPTABLES="/sbin/iptables"

INET_IFACE="ppp0"
INET_ADDR="x.x.x.x"

LOCAL_IFACE="eth1"
LOCAL_ADDR="192.168.0.1"
LOCAL_NWORK="192.168.0.0/24"
LOCAL_NWORK_MASK="24"
LOCAL_BCAST="192.168.0.255"

ADMIN_ADDR="192.168.0.53"
ADMIN_ADDR2="192.168.0.199"

#--Flush all chains in all tables
$IPTABLES -t filter -F
$IPTABLES -t filter -X

$IPTABLES -t nat -F
$IPTABLES -t nat -X

$IPTABLES -t mangle -F
$IPTABLES -t mangle -X

#--setting up default policies
$IPTABLES -t filter -P INPUT DROP
$IPTABLES -t filter -P OUTPUT DROP
$IPTABLES -t filter -P FORWARD DROP

$IPTABLES -t nat -P PREROUTING ACCEPT
$IPTABLES -t nat -P POSTROUTING ACCEPT
$IPTABLES -t nat -P OUTPUT ACCEPT

$IPTABLES -t mangle -P INPUT ACCEPT
$IPTABLES -t mangle -P OUTPUT ACCEPT
$IPTABLES -t mangle -P FORWARD ACCEPT
$IPTABLES -t mangle -P PREROUTING ACCEPT
$IPTABLES -t mangle -P POSTROUTING ACCEPT

#--Creating chains
$IPTABLES -N bad_tcp_packets

#--Enable local trafic
$IPTABLES -t filter -A INPUT -i lo -j ACCEPT
$IPTABLES -t filter -A OUTPUT -o lo -j ACCEPT

#--Enfull service chains
$IPTABLES -t filter -A bad_tcp_packets -p tcp --tcp-flags SYN,ACK SYN,ACK -m state \
--state NEW -j REJECT

#--Check all tcp trafic in the service chain
$IPTABLES -t filter -A INPUT -p tcp -j bad_tcp_packets
$IPTABLES -t filter -A OUTPUT -p tcp -j bad_tcp_packets
$IPTABLES -t filter -A FORWARD -p tcp -j bad_tcp_packets

$IPTABLES -t filter -A INPUT -p icmp -j ACCEPT
$IPTABLES -t filter -A OUTPUT -p icmp -j ACCEPT
$IPTABLES -t filter -A FORWARD -p icmp -j ACCEPT

#--Enable DNS service access to localhost and internal network
$IPTABLES -t filter -A OUTPUT -p udp --dport domain -o $INET_IFACE \
-m state ! --state INVALID -j ACCEPT
$IPTABLES -t filter -A INPUT -p udp --sport domain -i $INET_IFACE \
-m state --state ESTABLISHED,RELATED -j ACCEPT

$IPTABLES -t filter -A FORWARD -p udp --dport domain -o $INET_IFACE -s $LOCAL_NWORK \
-m state ! --state INVALID -j ACCEPT
$IPTABLES -t filter -A FORWARD -p udp --sport domain -i $INET_IFACE -d $LOCAL_NWORK \
-m state --state ESTABLISHED,RELATED -j ACCEPT

#--Services, allowed to localhost from internet

$IPTABLES -t filter -A OUTPUT -p tcp -m multiport \
--dports http,https -o $INET_IFACE -m state ! --state INVALID -j ACCEPT
$IPTABLES -t filter -A INPUT -p tcp -m multiport \
--sports http,https -i $INET_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT

$IPTABLES -t filter -A OUTPUT -p tcp -m multiport \
--dports ftp,ftp-data -o $INET_IFACE -m state ! --state INVALID -j ACCEPT
$IPTABLES -t filter -A INPUT -p tcp -m multiport \
--sports ftp,ftp-data -i $INET_IFACE -m state ! --state INVALID -j ACCEPT

#--TCP services, allowed to local nwork from localhost
$IPTABLES -t filter -A OUTPUT -p tcp -m multiport --sports 8080,1024,2802,http-proxy,10000 \
-o $LOCAL_IFACE -d $LOCAL_NWORK -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -t filter -A INPUT -p tcp -m multiport --dports 8080,1024,2802,http-proxy,10000 \
-i $LOCAL_IFACE -s $LOCAL_NWORK -m state ! --state INVALID -j ACCEPT

#--TCP services, directly allowed to local nwork
$IPTABLES -t filter -A FORWARD -p tcp -m multiport \
--dports smtp,pop3,imap,5190,6667,2802 \
-o $INET_IFACE -s $LOCAL_NWORK -m state ! --state INVALID -j ACCEPT
$IPTABLES -t filter -A FORWARD -p tcp -m multiport \
--sports smtp,pop3,imap,5190,6667,2802 \
-i $INET_IFACE -d $LOCAL_NWORK -m state --state ESTABLISHED,RELATED -j ACCEPT

#--TCP services, directly allowed to admin
$IPTABLES -t filter -A FORWARD  -p tcp -m multiport \
--dports http,https \
-o $INET_IFACE -s $ADMIN_ADDR -m state ! --state INVALID -j ACCEPT
$IPTABLES -t filter -A FORWARD  -p tcp -m multiport \
--sports http,https \
-i $INET_IFACE -d $ADMIN_ADDR -m state --state ESTABLISHED,RELATED -j ACCEPT

$IPTABLES -t filter -A FORWARD  -p tcp -m multiport \
--dports http,https,6881 \
-o $INET_IFACE -s $ADMIN_ADDR2 -m state ! --state INVALID -j ACCEPT
$IPTABLES -t filter -A FORWARD  -p tcp -m multiport \
--sports http,https,6881 \
-i $INET_IFACE -d $ADMIN_ADDR2 -m state --state ESTABLISHED,RELATED -j ACCEPT


#--NAT operations on local net
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -s $LOCAL_NWORK \
-j SNAT --to-source $INET_ADDR


#--Rules for torrent
$IPTABLES -A INPUT -s 0.0.0.0/0 -p tcp --dport 6880:6999 -j ACCEPT

$IPTABLES -t nat -A PREROUTING -i $INET_IFACE -p tcp --dport 6880:6999 \
-j DNAT --to $ADMIN_ADDR2

$IPTABLES -A FORWARD -i $INET_IFACE -o $LOCAL_IFACE -p tcp -d $ADMIN_ADDR2 \
--dport 6880:6999 -j ACCEPT
« Последнее редактирование: 09 Февраля 2009, 14:20:34 от Tugarin »

Оффлайн danryx

  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #253 : 09 Февраля 2009, 20:55:10 »
Доброго всем вечера!
Имеется следующе: сервер на убунте, стоит traffpro для учета трафика. на eth0 висит белый ип, по которому на eth1 раздается иет в серую сеть.
Собственно задача: есть ще один белый ип, который нужно дать клиенту в серой сети.
Вопрос: как собственно это грамотно организовать? Проброс портов не походит. нужно чтобы абсолютно весь трафик шел на комп клиента.
Заранее всем спасибо!

Оффлайн -sanches-

  • Любитель
  • *
  • Сообщений: 68
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #254 : 09 Февраля 2009, 21:12:47 »
Ребята, у меня проблема такая, после перехода на анлим появилось куча новых возможностей :) , а torrent не работает. Сам firewall писал мне хороший друг, я лишь попытался сиволапо дописать правила, чтоб   торрент-клиент на виндовой машине работал, но не получается, не работает торрент, не хочет качать. Вот что у меня есть, в чем проблема?

6880:6999 торрент клиент настроен на 1 из этих портов?
C2D 6550, P5K-V, 7900GT

 

Страница сгенерирована за 0.035 секунд. Запросов: 25.