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


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

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

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

Оффлайн demarco

  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #300 : 06 Марта 2009, 10:59:12 »
День добрый!

системв  ubuntu server 8.04, на ней прокси SQUID и Proftpd, на машине 3 интерефейса - 2 внешних от разных провов через ADSL
внешка 95.68.х.х модем 192.168.2.1 eth1 192.168.2.2
внешка 89.23.х.х модем 192.168.1.1 eth2 192.168.1.2
локалка 192.168.0.0/24
Через eth2 ходит инет через прокси и кое кому через нат, на eth1 висит proftpd и слушает внешку и локалку.
Задача слушать 8080 порт на интерфейсе Eth1 и перенапрвлять его в локалку на какой нить 192.168.0.44 на порт 80, там стоит отдельная машина c веб сервреом.
слушать 2121 на на eth1 и отправлять его на 0.44 На 21 порт ну и куча остальных портов туда еще надо отправить.

на модеме стоит FORWARD на адрес 192.168.2.2 все порты, типа все что приходит на 8080 на адрес 95.68.х.х отсылать на 2.2 8080

вариант типа

iptables -t nat -A PREROUTING -d 95.х.х.х -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.0.44:80
iptables t nat -A POSTROUTING -d 192.168.0.44 -p tcp -m tcp --dport 80 -j SNAT --to-source 192.168.2.2

почему то не прокатывает? куда копать понятно но что то не помогают уже мануалы :(

в iptables Все политики поумолчанию в ACCEPT
таблица NAT в виде -A POSTROUTING -s 192.168.0.0/24 -o eth2 -j MASQUERADE 

может кто из ГУРУ подскажет че делать

Оффлайн avatar_pr

  • Новичок
  • *
  • Сообщений: 18
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #301 : 07 Марта 2009, 18:58:29 »
Скажите пожалуйста, как открыть ВСЕ порты в Ubunto 8.10?
И TCP и UDP.
Если не сложно просьба оповестить в ПМ

Оффлайн InkVisitor

  • Участник
  • *
  • Сообщений: 190
  • Nikopol, Ukraine
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #302 : 07 Марта 2009, 21:38:30 »
По умолчанию они и так все открыты. Но, если уже кто-то постарался -
iptables -t filter -F
iptables -t filter -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

Оффлайн Aleks Murf

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #303 : 12 Марта 2009, 02:22:12 »
По умолчанию они и так все открыты. Но, если уже кто-то постарался -
iptables -t filter -F
iptables -t filter -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
У меня Ubuntu 8.10 (со всеми обновлениями). Из-за проблем с торрентс.ру (не раздаётся ничего, но качается нормально, хотя с кинозала.ру при этом и качается, и раздаётся бех проблем), полез в настройки азуреуса (версия 3.1.1.0), и хотел было выставить номер порта 6881, а мастер настроек сообщает, что он закрыт. Проверка по этой ссылке: http://www.utorrent.com/testport.php?port=6881 тоже показала, что этот порт закрыт.

Ввёл все указанные строки приведённые в цитате, указав перед ними sudo (без этого не хватало прав). Проверяю порт. Закрыт! И азуреус, кстати, говорит в статусе NAT - "защищено брандмауэром". Хотя я в системе брандмауэр не нашёл (в средствах gnome нету, а больше я никак не найду - не тот уровень знаний) и где он может быть тоже не знаю.

Может кто сказать, почему не получается открыть порт? В чём может быть проблема?

Оффлайн begemot

  • Активист
  • *
  • Сообщений: 385
  • Я отказался от наркотического яда - никотина!
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #304 : 12 Марта 2009, 06:17:53 »
20 страниц пустого трёпа совершенно не по теме данного руководства!
Ищите решения своих проблем в соответствующих ветках, создавайте отдельные топики, зачем так загаживать мануал?!

По сабжу: это руководство надо бы в wiki, не мешало бы подправить некоторые важные детали.

Оффлайн roog

  • Любитель
  • *
  • Сообщений: 54
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #305 : 19 Марта 2009, 10:42:00 »
какое GUI для Iptables на сегодняшний день более удобное?

Оффлайн Nickollla

  • Любитель
  • *
  • Сообщений: 74
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #306 : 21 Марта 2009, 01:52:31 »
День добрый!

системв  ubuntu server 8.04, на ней прокси SQUID и Proftpd, на машине 3 интерефейса - 2 внешних от разных провов через ADSL
внешка 95.68.х.х модем 192.168.2.1 eth1 192.168.2.2
внешка 89.23.х.х модем 192.168.1.1 eth2 192.168.1.2
локалка 192.168.0.0/24
Через eth2 ходит инет через прокси и кое кому через нат, на eth1 висит proftpd и слушает внешку и локалку.
Задача слушать 8080 порт на интерфейсе Eth1 и перенапрвлять его в локалку на какой нить 192.168.0.44 на порт 80, там стоит отдельная машина c веб сервреом.
слушать 2121 на на eth1 и отправлять его на 0.44 На 21 порт ну и куча остальных портов туда еще надо отправить.

на модеме стоит FORWARD на адрес 192.168.2.2 все порты, типа все что приходит на 8080 на адрес 95.68.х.х отсылать на 2.2 8080

вариант типа

iptables -t nat -A PREROUTING -d 95.х.х.х -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.0.44:80
iptables t nat -A POSTROUTING -d 192.168.0.44 -p tcp -m tcp --dport 80 -j SNAT --to-source 192.168.2.2

почему то не прокатывает? куда копать понятно но что то не помогают уже мануалы :(

в iptables Все политики поумолчанию в ACCEPT
таблица NAT в виде -A POSTROUTING -s 192.168.0.0/24 -o eth2 -j MASQUERADE 

может кто из ГУРУ подскажет че делать

я так понял модемы с натом то правило вида iptables -t nat -A PREROUTING -d 95.х.х.х -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.0.44:80
прокатывать не будет ввиду того что после проброса модемом буду приходить пакеты вида от xxx.xxx.xxx.xxx на 192.168.2.2   гдк xxx.xxx.xxx.xxx ип хоста который ломится на этот порт то бишь не фигурирует в пакетах ип 95.х.х.х
для работы эту строчку надо переписать типа iptables -t nat -A PREROUTING -d 192.168.2.2 -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.0.44:80

и проследи чтобы не было такого что приходят пакеты с инета на 1 модем, а отправлял ты через второй модем. А то удаленный хост пошлет тебя

Оффлайн lorddd

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #307 : 24 Марта 2009, 13:31:26 »
стоит ubuntu 8.10  есть 2 сетевые карты у каждой сетевой карты есть своя сеть
eth0 172.19.х.х - локальная сеть
eth1  деномический ip - DSL

проблемка такая локальная сеть нормально работает ресурсы локальной сети открываеться но когда подключаю DSL то немогу неодну загрузить страницу в ентернете, когда локальную сеть отключаю то DSL зарабатывает открываються в ентернете странички. Как мне подружить DSL+локалкой чтоб DSL работала с локалной сетью

Оффлайн makstor

  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #308 : 24 Марта 2009, 21:49:17 »
уважаемые знающие люди, посмотрите пожалуйста правила:

#eth1 - внутренний интерфейс, eth0 - внешний со статическим ip
#по умолчанию:
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p udp -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT

#подключения для управления сервером:
iptables -A INPUT -m tcp -p tcp -dport 22 -j ACCEPT
iptables -A OUTPUT -m tcp -p tcp -sport 22 -j ACCEPT
iptables -A INPUT -i eth1 -m tcp -p tcp -d 192.168.0.1 -dport 80 -j ACCEPT
iptables -A OUTPUT -o eth1 -m tcp -p tcp -s 192.168.0.1 -sport 80 -j ACCEPT
iptables -A INPUT -i eth1 -m tcp -p tcp -dport 10000 -j ACCEPT
iptables -A OUTPUT -o eth1 -m tcp -p tcp -sport 10000 -j ACCEPT
iptables -A INPUT -i eth1 -m tcp -p tcp -dport 3128 -j QUEUE
iptables -A OUTPUT -o eth1 -m tcp -p tcp -sport 3128 -j QUEUE
iptables -A OUTPUT -p tcp -j ACCEPT
iptables -A OUTPUT -p udp -j ACCEPT

#lo
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

#icmp:
iptables -A INPUT -p icmp -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT

#transparent proxy - настроено по рекомендациям с форумов и мануала к трафпро, ибо своим умом пока не получается(((
iptables -t nat -A PREROUTING -i eth1 -d ! 192.168.0.0/24 -p tcp -m multiport --dport 80,8080 -j REDIRECT --to-port 3128
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 213.xxx.xxx.xxx
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 15/minute -s 192.168.0.0/24 -d any/0 -j ACCEPT
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A FORWARD -p icmp -m limit --limit 250/sec --limit-burst 500 -j ACCEPT

при таком раскладе инет в окалке пингуется, irc, icq (возможно другие протоколы) работают, а вот http - не грузится. причем не грузится ни при указании прокси в браузере ни без него. все остальное работает без всяких изменений (настройки такие же как при доступе в инет через простой роутер) посмотрите пожалуйста, либо заворот на сквид неправильный, либо че то намудрил с редиректами %), не могу пока сам разобраться окончательно в iptables'ах  :(
з.ы. шлюз на базе ubuntu server 8.10 + squid + traffpro.

Оффлайн Envel

  • Участник
  • *
  • Сообщений: 166
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #309 : 03 Апреля 2009, 01:19:11 »
да прописаны...

мне с самого начала показалось, что что-то не то чтоб в Linuxе одной строкой
Цитировать
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
можно было "дать инет трафик" другому пк

Не поверишь, почти так и есть:)

Оффлайн new_bember

  • Новичок
  • *
  • Сообщений: 2
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #310 : 08 Апреля 2009, 12:35:08 »
Приветствую всех.. Проблема следующая, в рутере у меня прошивка от dd-wrt, там не Ubuntu, но iptables те же. Схема работы:
Домашняя сеть (172.13.1.0/24)
Локалка провайдера (192.168.0.0/16)
Интернет через рррое
В локалке айпи выставлен статически (192.168.77.106) , в инете динамически (91.222.222.217)
Роуты:
root@Handmade:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.192.25.13    *               255.255.255.255 UH    0      0        0 ppp0
192.168.77.0    *               255.255.255.0      U     0      0        0 vlan1
172.13.1.0        *               255.255.255.0      U     0      0        0 br0
192.168.0.0     192.168.77.1    255.255.0.0     UG    0      0        0 vlan1
127.0.0.0         *                 255.0.0.0            U     0      0        0 lo
default         10.192.25.13    0.0.0.0              UG    0      0        0 ppp0

10.192.25.13 - провайдерский сервак с рррое
vlan1 - интерфейс в локалку провайдера, на нём же и поднимается рррое
br0 - внутренний интерфейс в домашней локалке

iptables -t nat -I POSTROUTING -s 172.13.1.0/24 -d 192.168.0.0/16 -o vlan1 -j SNAT --to-source 192.168.77.106
iptables -t nat -I PREROUTING -d 192.168.77.106 -p tcp -m tcp --dport 20000 -j DNAT --to-destination 172.13.1.101
iptables -t nat -I PREROUTING -d 192.168.77.106 -p tcp -m tcp --dport 4887 -j DNAT --to-destination 172.13.1.101
iptables -t nat -I PREROUTING -d 192.168.77.106 -p udp -m udp --dport 20001 -j DNAT --to-destination 172.13.1.101

таким образом  проброшены порты для DC++, всё работает замечательно, НО: когда скачивают с моей машины трафик идёт через интерфейс ppp0 вместо нужного мне vlan1, таким образом исходящая скорость в локалку = скорости инета = 256кб/сек. Вопрос следующий, как указать трафику для локалки путь через vlan1 в обе стороны?

Kubuntu 9.04 / Acer Aspire 5920g 320Gb/4Gb GeForce 8600M GS

Оффлайн IgoreXa

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #311 : 09 Апреля 2009, 17:46:49 »
Всем привет, пытаюсь реализовать DMZ следующего вида:


LAN
|
Ubuntu Server (nat, iptables) -> DMZ (WWW, Mail и т.д.)
|
Internet

За основу скрипта взял пример приведённый в Iptables Tutorial 1.1.19 http://www.opennet.ru/docs/RUS/iptables/misc/iptables-tutorial/scripts/rc.DMZ.firewall.txt. Что-то подправил, в итоге работает, WWW ещё не запускал, но проблема есть с почтой. А именно, письма на  Mail server из Internet приходят, а отправить не получается,

tail -f /var/log/mail.info

вижу ошибку:

...postfix/qmgr: from=<igor@noname-spb.ru>
...postfix/smtp: connect to mail.noname-spb.ru [53.52.153.110]:25 Connection refused.

# "53.52.153.110" имеет MX запись в интернете

Для выявления проблемы урезал всё что можно, получилось следующее:


#!/bin/bash

#Local area network
LAN_IP="192.168.0.1"
LAN_RANGE="192.168.0.0/24"
LAN_IFACE="eth0"

#Internet
INET_IP="53.52.153.110"
INET_IFACE="eth1"

#DMZ addresses
DMZ_HTTP_IP="10.0.0.2"
DMZ_IP="10.0.0.1"
DMZ_IFACE="eth2"

LO_IFACE="lo"
LO_IP="127.0.0.1"

IPTABLES="/sbin/iptables"

###########################################################################

# 2. Module loading.

/sbin/depmod -a

/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_state

###########################################################################

# 3.1 Required proc configuration

echo "1" > /proc/sys/net/ipv4/ip_forward

##################################################################
# 4.1 Filter Table
##################################################################

#################################################################
# 4.1.4 INPUT chain
#################################################################

#######################################################
# 4.1.5  FORWARD chain
#######################################################

#    MAIL server
   # for SMTP 25 from INTERNET / TO INTERNET

$IPTABLES -A FORWARD -p TCP -i $INET_IFACE -o $DMZ_IFACE -d $DMZ_HTTP_IP --dport 25 -j ACCEPT

$IPTABLES -A FORWARD -p TCP -i $DMZ_IFACE -o $INET_IFACE -d 0/0 -j ACCEPT


   # for SMTP 25 from LAN

$IPTABLES -A FORWARD -p TCP -i $LAN_IFACE -s $LAN_RANGE -d $DMZ_HTTP_IP --dport 25 -j ACCEPT

   # для POP3 110 из LAN

$IPTABLES -A FORWARD -p TCP -i $LAN_IFACE -s $LAN_RANGE -d $DMZ_HTTP_IP --dport 110 -j ACCEPT


##########################################################
# 4.1.6 OUTPUT chain
##########################################################


# PREROUTING chain

#    MAIL server

$IPTABLES -t nat -A PREROUTING -p TCP -i $INET_IFACE -d $INET_IP --dport 25 -j DNAT --to-destination $DMZ_HTTP_IP


# POSTROUTING chain

$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_IP

Подскажите, где накосячил?

Оффлайн Snap.

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #312 : 13 Апреля 2009, 21:21:34 »
Подскажите нубу, как забанить диапозон к примеру 77.85.*.* ? Заранее спасибо.

Оффлайн Durman

  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #313 : 13 Апреля 2009, 23:44:20 »
Подскажите нубу, как забанить диапозон к примеру 77.85.*.* ? Заранее спасибо.

/sbin/iptables -A INPUT -s 77.85.0.0/16 -j DROP

Оффлайн zaslanec_13

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #314 : 16 Апреля 2009, 14:57:41 »
Народ помогите!!! В общем ситуация такая:
eth0 - интернет (по dhcp)
eth1 - локалка 10.10.10.0-255
ppp0 - vpn 10.249.5.0-255
НА сервере ubuntu8.10  поднят DHCP (eth1=10.10.10.1 раздает 10,10,10,5-254) и VPN (10.10.10.1, раздает 10,249,5,5-254 с выходом в инет)
Если на клиентской машине статически прописать адрес шлюза, моего eth1 (10.10.10.1) то он выбивает сервак...и у других клиентов тут же пропадает инет.
Какую команду нужно прописать чтобы заблокировать подмену ip моего интерфейса (ну типа чтобы этому компу вышла надпись что ip уже присвоен, как обычно ето бывает в Windowsких машинах)?

ps: я в этом деле новичок, все настраивал по мануалкам с нета, а вот про подмену ничего не нарыл. 
 

 

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