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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

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

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

Оффлайн podkovyrsty

  • Старожил
  • *
  • Сообщений: 1547
  • Content-Type: alternative
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #675 : 21 Апреля 2010, 12:15:24 »
99% что у тебя нет правильного маршрута до модема, тебе надо указать, через какой интерфейс нужно к нему обращаться.

через eth0 в eth1 на 192.168.1.22
через eth0 к eth1  пинг есть а вот дальше нет
Дай ifconfig и route -n при поднятом инете.
Шаг за шагом можно достичь цели.

Оффлайн chikatillo

  • Участник
  • *
  • Сообщений: 139
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #676 : 21 Апреля 2010, 12:46:35 »
99% что у тебя нет правильного маршрута до модема, тебе надо указать, через какой интерфейс нужно к нему обращаться.

через eth0 в eth1 на 192.168.1.22
через eth0 к eth1  пинг есть а вот дальше нет
Дай ifconfig и route -n при поднятом инете.


eth0      Link encap:Ethernet  HWaddr 00:80:48:10:ae:94
          inet addr:192.168.100.254  Bcast:192.168.100.255  Mask:255.255.255.0
          inet6 addr: fe80::280:48ff:fe10:ae94/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2514039 errors:855 dropped:0 overruns:0 frame:0
          TX packets:2659373 errors:0 dropped:0 overruns:13 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:553433773 (553.4 MB)  TX bytes:2104210486 (2.1 GB)
          Interrupt:11 Base address:0xd800



eth1      Link encap:Ethernet  HWaddr 00:e0:1c:3b:ae:df
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::2e0:1cff:fe3b:aedf/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2772691 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2517030 errors:0 dropped:0 overruns:9 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2082936731 (2.0 GB)  TX bytes:556356746 (556.3 MB)
          Interrupt:10 Base address:0xdc00

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:90 errors:0 dropped:0 overruns:0 frame:0
          TX packets:90 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:16214 (16.2 KB)  TX bytes:16214 (16.2 KB)

ppp0      Link encap:Point-to-Point Protocol
          inet addr:******  P-t-P:********  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1492  Metric:1
          RX packets:220942 errors:0 dropped:0 overruns:0 frame:0
          TX packets:259741 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:127767033 (127.7 MB)  TX bytes:62496179 (62.4 MB)


Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
*********     0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
192.168.100.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 ppp0


Оффлайн podkovyrsty

  • Старожил
  • *
  • Сообщений: 1547
  • Content-Type: alternative
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #677 : 21 Апреля 2010, 13:08:04 »
странно, а iptables-save?
Шаг за шагом можно достичь цели.

Оффлайн chikatillo

  • Участник
  • *
  • Сообщений: 139
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #678 : 21 Апреля 2010, 13:12:14 »
странно, а iptables-save?

У меня скрипт с правилами при загрузке запускается..
Да и ваще причем здесь  iptables-save?
« Последнее редактирование: 21 Апреля 2010, 17:13:13 от chikatillo »

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #679 : 21 Апреля 2010, 18:59:31 »
Да и ваще причем здесь  iptables-save?
Если хочешь, чтоб помогли в проблеме разобраться, то показывай. Там может не хватать некоторых трансляций.

Оффлайн podkovyrsty

  • Старожил
  • *
  • Сообщений: 1547
  • Content-Type: alternative
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #680 : 22 Апреля 2010, 09:51:20 »
странно, а iptables-save?

У меня скрипт с правилами при загрузке запускается..
Да и ваще причем здесь  iptables-save?
Да как-бы и не причем, файрволл ведь не влияет на уровне ядра на поток траффика внутри и снаружи машины?
Шаг за шагом можно достичь цели.

Оффлайн chikatillo

  • Участник
  • *
  • Сообщений: 139
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #681 : 22 Апреля 2010, 11:01:17 »
# Generated by iptables-save v1.4.0 on Thu Apr 22 09:59:52 2010
*nat
:PREROUTING ACCEPT [220029:14536219]
:POSTROUTING ACCEPT [170:10833]
:OUTPUT ACCEPT [29817:1983831]
-A PREROUTING -d ! 192.168.0.0/24 -i eth0 -p tcp -m multiport --dports 80,8080,1                                                                             0000 -j REDIRECT --to-ports 3128
-A POSTROUTING -o ppp0 -j MASQUERADE
COMMIT
# Completed on Thu Apr 22 09:59:53 2010
# Generated by iptables-save v1.4.0 on Thu Apr 22 09:59:53 2010
*mangle
:PREROUTING ACCEPT [1889554:780514393]
:INPUT ACCEPT [1067811:672800940]
:FORWARD ACCEPT [819753:107451311]
:OUTPUT ACCEPT [1025932:693458964]
:POSTROUTING ACCEPT [1843384:800434309]
-A FORWARD -o ppp0 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1400:15                                                                             36 -j TCPMSS --clamp-mss-to-pmtu
COMMIT
# Completed on Thu Apr 22 09:59:53 2010
# Generated by iptables-save v1.4.0 on Thu Apr 22 09:59:53 2010
*filter
:INPUT DROP [0:0]
:FORWARD DROP [32:1600]
:OUTPUT DROP [0:0]
:bad_tcp_packets - [0:0]
:inet_in - [0:0]
:inet_out - [0:0]
:local_in - [0:0]
:local_out - [0:0]
-A INPUT -p udp -m udp --sport 53 -j ACCEPT
-A INPUT -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -s 192.168.100.0/24 -p tcp -m tcp --sport 53 -j ACCEPT
-A INPUT -s 127.0.0.1/32 -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -s 192.168.100.0/24 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -s 192.168.100.0/24 -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -s 192.168.100.0/24 -p tcp -m tcp --dport 20 -j ACCEPT
-A INPUT -s 192.168.100.0/24 -p tcp -m tcp --dport 2021 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 35691 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 5900 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 10000 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 0 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 3 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 5 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 12 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -j bad_tcp_packets
-A INPUT -i ppp0 -j inet_in
-A INPUT -i eth0 -j local_in
-A INPUT -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix "IN DROP: "                                                                              --log-level 6
-A FORWARD -p tcp -j bad_tcp_packets
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.100.0/24 -p icmp -m icmp --icmp-type 0 -j ACCEPT
-A FORWARD -s 192.168.100.0/24 -p icmp -m icmp --icmp-type 3 -j ACCEPT
-A FORWARD -s 192.168.100.0/24 -p icmp -m icmp --icmp-type 5 -j ACCEPT
-A FORWARD -s 192.168.100.0/24 -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A FORWARD -s 192.168.100.0/24 -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A FORWARD -s 192.168.100.0/24 -p icmp -m icmp --icmp-type 12 -j ACCEPT
-A FORWARD -s 192.168.100.0/24 -p tcp -m tcp --dport 22 -j ACCEPT
-A FORWARD -s 192.168.100.0/24 -p tcp -m tcp --dport 21 -j ACCEPT
-A FORWARD -s 192.168.100.0/24 -p tcp -m tcp --dport 20 -j ACCEPT
-A FORWARD -s 192.168.100.0/24 -p tcp -m tcp --dport 2021 -j ACCEPT
-A FORWARD -s 192.168.100.0/24 -p tcp -m tcp --dport 80 -j ACCEPT
-A FORWARD -s 192.168.100.0/24 -p tcp -m tcp --dport 8080 -j ACCEPT
-A FORWARD -s 192.168.100.0/24 -p tcp -m tcp --dport 3128 -j ACCEPT
-A FORWARD -s 192.168.100.0/24 -p tcp -m tcp --dport 21 -j ACCEPT
-A FORWARD -s 192.168.100.0/24 -p tcp -m tcp --dport 20 -j ACCEPT
-A FORWARD -s 192.168.100.0/24 -p tcp -m tcp --dport 2021 -j ACCEPT
-A FORWARD -s 192.168.100.0/24 -p tcp -m tcp --dport 9102 -j ACCEPT
-A FORWARD -s 192.168.100.0/24 -p tcp -m tcp --dport 5050 -j ACCEPT
-A FORWARD -s 192.168.100.0/24 -p tcp -m tcp --dport 10000 -j ACCEPT
-A FORWARD -s 192.168.100.0/24 -p tcp -m tcp --dport 2082 -j ACCEPT
-A FORWARD -s 192.168.100.0/24 -p tcp -m tcp --dport 2078 -j ACCEPT
-A FORWARD -s 192.168.100.0/24 -p tcp -m tcp --dport 5900 -j ACCEPT
-A FORWARD -s 192.168.100.0/24 -p tcp -m tcp --dport 53 -j ACCEPT
-A FORWARD -s 192.168.100.0/24 -p udp -m udp --sport 53 -j ACCEPT
-A FORWARD -s 192.168.100.0/24 -p tcp -m tcp --dport 5190 -j ACCEPT
-A FORWARD -s 192.168.100.0/24 -p tcp -m tcp --dport 110 -j ACCEPT
-A FORWARD -s 192.168.100.0/24 -p tcp -m tcp --dport 995 -j ACCEPT
-A FORWARD -s 192.168.100.0/24 -p tcp -m tcp --dport 25 -j ACCEPT
-A FORWARD -s 192.168.100.0/24 -p tcp -m tcp --dport 465 -j ACCEPT
-A FORWARD -s 192.168.100.0/24 -p tcp -m tcp --dport 443 -j ACCEPT
-A FORWARD -s 192.168.100.0/24 -p udp -m udp --sport 1025:65535 -j ACCEPT
-A FORWARD -i ppp0 -p tcp -m tcp --dport 5900 -j ACCEPT
-A FORWARD -s 192.168.100.248/32 -p tcp -m tcp -j ACCEPT
-A FORWARD -s 192.168.100.0/24 -p tcp -m tcp --dport 2899 -j ACCEPT
-A FORWARD -s 192.168.100.0/24 -p tcp -m tcp --dport 3389 -j ACCEPT
-A FORWARD -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix "FWD DROP:                                                                              " --log-level 6
-A FORWARD -s 192.168.100.0/24 -p tcp -m tcp --dport 7012 -j ACCEPT
-A FORWARD -s 192.168.100.4/32 -p tcp -m tcp --dport 6036 -j ACCEPT
-A FORWARD -s 192.168.100.4/32 -p tcp -m tcp --dport 6326 -j ACCEPT
-A FORWARD -s 192.168.100.4/32 -p tcp -m tcp --dport 8112 -j ACCEPT
-A FORWARD -s 192.168.100.4/32 -p tcp -m tcp --dport 6384 -j ACCEPT
-A FORWARD -s 192.168.100.4/32 -p tcp -m tcp --dport 6304 -j ACCEPT
-A FORWARD -s 192.168.100.203/32 -p tcp -m tcp --dport 6000:6500 -j ACCEPT
-A FORWARD -j DROP
-A OUTPUT -p tcp -m tcp --dport 5900 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -p tcp -j bad_tcp_packets
-A OUTPUT -d 192.168.100.0/24 -p tcp -m tcp --sport 3128 -j ACCEPT
-A OUTPUT -o eth0 -j local_out
-A OUTPUT -o ppp0 -j inet_out
-A OUTPUT -o ppp0 -p tcp -m tcp --sport 22 -j ACCEPT
-A OUTPUT -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix "OUT DROP:                                                                              " --log-level 6
-A bad_tcp_packets -p tcp -m tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NE                                                                             W -j REJECT --reject-with tcp-reset
-A bad_tcp_packets -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --st                                                                             ate NEW -j LOG --log-prefix "New not syn:"
-A bad_tcp_packets -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --st                                                                             ate NEW -j DROP
-A inet_in -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A inet_in -p tcp -m tcp --dport 22 -j ACCEPT
-A inet_in -p tcp -m tcp --dport 80 -j ACCEPT
-A inet_in -p udp -m udp --sport 123 -j ACCEPT
-A inet_in -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix "inet_in D                                                                             ROP: " --log-level 6
-A inet_in -j DROP
-A inet_out -j ACCEPT
-A local_in -p tcp -m tcp --dport 139 -j ACCEPT
-A local_in -p udp -m udp --dport 136:138 -j ACCEPT
-A local_in -p tcp -m tcp --sport 5900 -j ACCEPT
-A local_in -s 192.168.100.0/24 -d 192.168.100.254/32 -p tcp -m tcp --dport 3128                                                                              -j ACCEPT
-A local_in -p tcp -m tcp --dport 22 -j ACCEPT
-A local_in -p tcp -m tcp --dport 80 -j ACCEPT
-A local_in -s 192.168.100.0/24 -p udp -m udp --dport 123 -j ACCEPT
-A local_in -s 192.168.100.0/24 -p tcp -m tcp --dport 445 -j ACCEPT
-A local_in -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix "local_in                                                                              DROP: " --log-level 6
-A local_in -j DROP
-A local_out -j ACCEPT
COMMIT


Оффлайн podkovyrsty

  • Старожил
  • *
  • Сообщений: 1547
  • Content-Type: alternative
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #682 : 22 Апреля 2010, 12:50:41 »
Вот вопрос - ты разбирался в том, какие правила пишет этот скрипт?
У тебя тут чуть ли не весь траффик в eth1 запрещен.
Шаг за шагом можно достичь цели.

Оффлайн chikatillo

  • Участник
  • *
  • Сообщений: 139
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #683 : 22 Апреля 2010, 14:19:21 »
Вот вопрос - ты разбирался в том, какие правила пишет этот скрипт?
У тебя тут чуть ли не весь траффик в eth1 запрещен.
Да открыты только почта, аськи и т.д., 80 ведь порт открыт?
192.168.100.248 - это я
« Последнее редактирование: 22 Апреля 2010, 14:29:08 от chikatillo »

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #684 : 22 Апреля 2010, 14:29:46 »
-A POSTROUTING -o ppp0 -j MASQUERADE
Маскардятся пакеты только с ppp0. А т.к. твой мопед не знает про сеть 192.168.100.0/24 за eth0, то исходящие с eth1 тоже нужно маскардить.

Оффлайн chikatillo

  • Участник
  • *
  • Сообщений: 139
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #685 : 22 Апреля 2010, 21:50:19 »
-A POSTROUTING -o ppp0 -j MASQUERADE
Маскардятся пакеты только с ppp0. А т.к. твой мопед не знает про сеть 192.168.100.0/24 за eth0, то исходящие с eth1 тоже нужно маскардить.

Довавить?
$IPTABLES -t nat -A POSTROUTING -o eth1 -j MASQUERADE
Добавил, мапед пингуется,telnet c мапедом конектит, но на web зайти не могу,
я так понял это из-за
IPTABLES -t nat -A PREROUTING -i eth0 -p tcp -d ! $LAN_IP_RANGE -m multiport --dport 80,8080,10000 -j REDIRECT --to-ports 3128
лан у меня же 192.168.100.
а мапед в подсети 192.168.1.
Ставлю !192.168.0.0/24 и тогда пинг пропадает и на виртуальные хосты даже зайти не могу..

Или может так?
iptables -t nat -A POSTROUTING -p tcp -o eth1 -j SNAT --to-source 192.168.1.22:80


Товарищи знатоки , че я делаю не так? :)

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #686 : 22 Апреля 2010, 22:04:06 »
Ставлю !192.168.0.0/24 и тогда пинг пропадает и на виртуальные хосты даже зайти не могу..
Вот уж пинг никак не должен зависеть от этой строки вообще. Попутно похоже чего-то ломаешь. Попробуй поставить префикс не 24 а 16:
$IPTABLES -t nat -A PREROUTING -i eth0 -p tcp ! -d 192.168.0.0/16 -m multiport --dport 80,8080,10000 -j REDIRECT --to-ports 3128

Пользователь решил продолжить мысль 22 Апреля 2010, 22:05:35:
Или разбирайся с проксей, она похоже не пущает на локальные адреса.

Оффлайн chikatillo

  • Участник
  • *
  • Сообщений: 139
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #687 : 23 Апреля 2010, 11:09:26 »
Попробуй поставить префикс не 24 а 16:

Блин, все работает :)

Объясните почему?

Оффлайн podkovyrsty

  • Старожил
  • *
  • Сообщений: 1547
  • Content-Type: alternative
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #688 : 23 Апреля 2010, 12:33:03 »
Попробуй поставить префикс не 24 а 16:

Блин, все работает :)

Объясните почему?
Да потому что у тебя под это правило попадала и 1-я и 100-я подсеть, говорю же, устанавливая правила файрволла ты должен на 100% знать что делает каждое из них, иначе вот такие косяки будут каждый раз по нескольку.
Шаг за шагом можно достичь цели.

Оффлайн chikatillo

  • Участник
  • *
  • Сообщений: 139
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #689 : 23 Апреля 2010, 13:51:47 »
Попробуй поставить префикс не 24 а 16:

Блин, все работает :)

Объясните почему?
Да потому что у тебя под это правило попадала и 1-я и 100-я подсеть, говорю же, устанавливая правила файрволла ты должен на 100% знать что делает каждое из них, иначе вот такие косяки будут каждый раз по нескольку.

Стоп но если префикс 24 то :

24 означает, что первые 24 бита не меняются, то есть адреса в сети будут с 192.168.0.0 по 192.168.255.255

Тоже попадает 1я и 100я

 

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