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


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

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

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

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1515 : 27 Января 2012, 20:11:34 »
В настройках клиента видеонаблюдения на локальной машине указан IP шлюза Ubuntu и порт 37777.

Подозреваею, что форвардинг пакетов таки не включен.
tcpdump точнее скажет.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн MadKox

  • Активист
  • *
  • Сообщений: 441
  • =)
    • Просмотр профиля
    • Моя страница на Launchpad
Re: HOWTO: Iptables для новичков
« Ответ #1516 : 28 Января 2012, 09:06:34 »
chester_+1,
Я бы на вашем месте не блеклистированием занимался, а смотрел на что-то типа fail2ban, т.к. ломиться могут откуда угодно, на всех правил не напасешься =)
Homo homini admini est...

Оффлайн Orche

  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
    • edc - вещи, которые мы носим с собой
Re: HOWTO: Iptables для новичков
« Ответ #1517 : 30 Января 2012, 11:09:58 »
Подозреваею, что форвардинг пакетов таки не включен.
tcpdump точнее скажет.

В клиенте видеонаблюдения жму "соединиться" , параллельно на убунте запустил
sudo tcpdump |grep 37777

Получаю
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
11:02:27.771950 IP <мой_хост>.50726 > gate.37777: Flags [S], seq 2082702026, win 8192, options [mss 1460,nop,wscale                          8,nop,nop,sackOK], length 0
11:02:36.763872 IP <мой_хост>.50726 > gate.37777: Flags [S], seq 2082702026, win 8192, options [mss 1460,nop,nop,sa                         ckOK], length 0
11:03:02.247915 IP <мой_хост>.50727 > gate.37777: Flags [S], seq 4055312848, win 8192, options [mss 1460,nop,wscale                          8,nop,nop,sackOK], length 0
11:03:05.248763 IP <мой_хост>.50727 > gate.37777: Flags [S], seq 4055312848, win 8192, options [mss 1460,nop,wscale                          8,nop,nop,sackOK], length 0
11:03:11.249198 IP <мой_хост>.50727 > gate.37777: Flags [S], seq 4055312848, win 8192, options [mss 1460,nop,nop,sa                         ckOK], length 0

gate-имя сервера ubuntu, у него eth0 - локалка, eth1 - wan , воткнутый в роутер , 37777- пробрасываемый порт ,в iptables действует правило
iptables -t nat -A PREROUTING -p tcp -d GATE_IP --dport 37777 -j DNAT --to-destination EXT_IP:37777Если запустить tcpdump на внешнем интерфейсе, видно, что пакеты идут куда надо:
listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
11:14:15.807724 IP <мой_хост>.50973 > <сервер_наблюдения>.37777: Flags [S], seq 395287003, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackO       K], length 0
11:14:18.807496 IP <мой_хост>.50973 > <сервер_наблюдения>.37777: Flags [S], seq 395287003, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackO       K], length 0
11:14:24.807922 IP <мой_хост>.50973 > <сервер_наблюдения>.37777: Flags [S], seq 395287003, win 8192, options [mss 1460,nop,nop,sackOK], length 0

« Последнее редактирование: 30 Января 2012, 11:17:08 от Orche »

Оффлайн Данди

  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1518 : 30 Января 2012, 20:40:59 »
 zeus, большое спасибо за ссылку. Перерыл весь форум и не только думал дело в портах - пробросы, настройки торрента (перепробовал несколько клиентов)....   даже позвонил провайдеру:
-Какие порты открыты?
-Мы порты не закрываем.
а оказалось дело в другом. и проведённые операции, описанные здесь http://easylinux.ru/node/190/ помогли - торрент начал раздавать, ну в общем процесс пошёл  :D

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1519 : 30 Января 2012, 21:06:07 »
Подозреваею, что форвардинг пакетов таки не включен.
tcpdump точнее скажет.

В клиенте видеонаблюдения жму "соединиться" , параллельно на убунте запустил
sudo tcpdump |grep 37777
O.o
Чем не угодило
tcpdump proto tcp port 37777
?

Цитировать
Получаю
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
11:02:27.771950 IP <мой_хост>.50726 > gate.37777: Flags [S], seq 2082702026, win 8192, options [mss 1460,nop,wscale                          8,nop,nop,sackOK], length 0
11:02:36.763872 IP <мой_хост>.50726 > gate.37777: Flags [S], seq 2082702026, win 8192, options [mss 1460,nop,nop,sa                         ckOK], length 0
11:03:02.247915 IP <мой_хост>.50727 > gate.37777: Flags [S], seq 4055312848, win 8192, options [mss 1460,nop,wscale                          8,nop,nop,sackOK], length 0
11:03:05.248763 IP <мой_хост>.50727 > gate.37777: Flags [S], seq 4055312848, win 8192, options [mss 1460,nop,wscale                          8,nop,nop,sackOK], length 0
11:03:11.249198 IP <мой_хост>.50727 > gate.37777: Flags [S], seq 4055312848, win 8192, options [mss 1460,nop,nop,sa                         ckOK], length 0

gate-имя сервера ubuntu, у него eth0 - локалка, eth1 - wan , воткнутый в роутер
В какой такой роутер???????????
Давайте ещё раз, медленно и одним постом структуру сети и что куда пробрасывается.
Цитировать
, 37777- пробрасываемый порт ,в iptables действует правило
iptables -t nat -A PREROUTING -p tcp -d GATE_IP --dport 37777 -j DNAT --to-destination EXT_IP:37777Если запустить tcpdump на внешнем интерфейсе, видно, что пакеты идут куда надо:
listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
11:14:15.807724 IP <мой_хост>.50973 > <сервер_наблюдения>.37777: Flags [S], seq 395287003, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackO       K], length 0
11:14:18.807496 IP <мой_хост>.50973 > <сервер_наблюдения>.37777: Flags [S], seq 395287003, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackO       K], length 0
11:14:24.807922 IP <мой_хост>.50973 > <сервер_наблюдения>.37777: Flags [S], seq 395287003, win 8192, options [mss 1460,nop,nop,sackOK], length 0


Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Orche

  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
    • edc - вещи, которые мы носим с собой
Re: HOWTO: Iptables для новичков
« Ответ #1520 : 31 Января 2012, 11:27:54 »
AnrDaemon, спасибо за участие.
Структура сети с айпишниками:

локальная машина INT_IP  --> Ubuntu server c GATE_IP и WAN_IP --> аппаратный роутер--> INTERNET --> видеорегистратор с EXT_IP:37777

С Ubuntu сервера видеорегистратор доступен и по ping и по telnet EXT_IP 37777 , так что затык в роутере исключаем.
Задача - дать локальной машине доступ к видеорегистратору.
На локальной машине настраиваю клиент видеонаблюдения на сервер GATE_IP:37777 ,Форвардинг пакетов в Ubuntu включен ( 1 в файле /proc/sys/net/ipv4/ip_forward).
Таблицы iptables очищены. Вношу правило
iptables -t nat -A PREROUTING -p tcp -d GATE_IP --dport 37777 -j DNAT --to-destination EXT_IP:37777
,то есть на сервере слушаем входящие c любого IP на порт 37777 и отправляем на видеорегистратор :37777
С локальной машины видео недоступно, telnet EXT_IP 37777 также не работает.
Пытаемся соединиться, смотрим tcpdump.
sudo tcpdump -p tcp port 37777
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
11:09:50.026958 IP INT_IP.56838 > GATE_IP.37777: Flags [S], seq 3934726529, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
11:09:53.027262 IP INT_IP.56838 > GATE_IP.37777: Flags [S], seq 3934726529, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
11:09:59.028666 IP INT_IP.56838 > GATE_IP.37777: Flags [S], seq 3934726529, win 8192, options [mss 1460,nop,nop,sackOK],length 0
11:10:10.297567 IP INT_IP.56839 > GATE_IP.37777: Flags [S], seq 1315410236, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
11:10:13.297647 IP INT_IP.56839 > GATE_IP.37777: Flags [S], seq 1315410236, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
11:10:19.301045 IP INT_IP.56839 > GATE_IP.37777: Flags [S], seq 1315410236, win 8192, options [mss 1460,nop,nop,sackOK],length 0

смотрим tcpdump на wan интерфейсе Ubuntu шлюза
sudo tcpdump -i eth1 -p tcp port 37777
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
11:13:13.854086 IP INT_IP.56843 > EXT_IP.37777: Flags [S], seq 3456946689, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
11:13:16.854116 IP INT_IP.56843 > EXT_IP.37777: Flags [S], seq 3456946689, win 8192, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
11:13:22.854521 IP INT_IP.56843 > EXT_IP.37777: Flags [S], seq 3456946689, win 8192, options [mss 1460,nop,nop,sackOK], length 0

Пакеты вроде бы идут куда надо , но смущает length 0 , а идут ли обратно?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1521 : 31 Января 2012, 12:08:05 »
Не проще уже нормально выпрямить роутинг? На роутере.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Orche

  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
    • edc - вещи, которые мы носим с собой
Re: HOWTO: Iptables для новичков
« Ответ #1522 : 31 Января 2012, 13:57:25 »
В смысле ? К роутеру подключен только сервер, остальные компьютеры о нем не знают и сидят в другой подсети.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1523 : 31 Января 2012, 17:59:31 »
Значит, выпрямляйте роутинг на сервере.
И не надо себе проблемы выдумывать с пробрасыванием портов куда не надо.
Одно дело, когда надо получить доступ к машине внутри частной сети, там без проброса портов или других хитрых манипуляций не обойтись.
А достучаться до машины, имеющей реальный адрес, проблемой никогда не было. И не надо её создавать.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Orche

  • Новичок
  • *
  • Сообщений: 17
    • Просмотр профиля
    • edc - вещи, которые мы носим с собой
Re: HOWTO: Iptables для новичков
« Ответ #1524 : 02 Февраля 2012, 12:43:10 »
Для меня проблема ,т.к. чайник.
Задача - настроить роутинг из локалки до внешнего IP через шлюз на Ubuntu. Этот хост c шлюза доступен.
Iptables  чистый,
# Generated by iptables-save v1.4.10 on Thu Feb  2 12:30:18 2012
*nat
:PREROUTING ACCEPT [18782:1057488]
:INPUT ACCEPT [18027:961064]
:OUTPUT ACCEPT [13014:799629]
:POSTROUTING ACCEPT [13055:802096]
COMMIT
# Completed on Thu Feb  2 12:30:18 2012
# Generated by iptables-save v1.4.10 on Thu Feb  2 12:30:18 2012
*filter
:INPUT ACCEPT [170526:72826984]
:FORWARD ACCEPT [3:152]
:OUTPUT ACCEPT [193824:79253406]
COMMIT
# Completed on Thu Feb  2 12:30:18 2012
т.е, как я понимаю, все разрешено. Форвардинг пакетов включен. На локальном компе ставлю IP ubuntu server-a шлюзом по умолчанию, пробую пинговать внешний хост - тишина.
Что еще нужно сделать для настройки ?

Оффлайн ivsatel

  • Активист
  • *
  • Сообщений: 336
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1525 : 02 Февраля 2012, 12:51:54 »
Если у Вас в iptables все политики по умолчанию ACCEPT то следующим действием будет:

(1)
iptables -t nat -A POSTROUTING -s LAN_IP_RANGE ! -d LAN_IP_RANGE -j MASQUERADE
(2)
iptables -t mangle -A FORWARD -p tcp -m tcp --tcp-flags RST,SYN SYN -j TCPMSS --clamp-mss-to-pmtu

(1) это NAT
(2) выравнивать размер MTU

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1526 : 02 Февраля 2012, 14:10:39 »
Для меня проблема ,т.к. чайник.
Задача - настроить роутинг из локалки до внешнего IP через шлюз на Ubuntu. Этот хост c шлюза доступен.

https://forum.ubuntu.ru/index.php?topic=107492.0
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн ivsatel

  • Активист
  • *
  • Сообщений: 336
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1527 : 12 Февраля 2012, 21:20:01 »
Если кому не сложно растолковать подробнее это http://www.opennet.ru/docs/RUS/iptables/#TABLE.LIMITMATCH
Как я понимаю это:
iptables -I INPUT 4 -p icmp -m limit --limit 25/sec --limit-burst 50 -j ACCEPT--limit 25/sec = 25 пакетов в секунду
--limit-burst 50 = токен бакет равен 50-ти пакетам
Правильно ли я понимаю, что limit-burst с начала равен нулю и считает пакеты до заданных 50-ти, а после этого я понимаю, что начинает пропускать согласно limit 25/sec, это если действие ACCEPT
Это верно?
И второй вопрос. Если действие DROP то убивается когда более 25-ти пакетов (26-ой)?
« Последнее редактирование: 12 Февраля 2012, 21:21:48 от ivsatel »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1528 : 12 Февраля 2012, 21:33:24 »
limit-burst : будет принято минимум 50 пакетов независимо от других наложенных ограничений.
После чего будут применены остальные правила.

Сам с модулем limit не работал, но мне каежтся, вы его как-то не так используете.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн ivsatel

  • Активист
  • *
  • Сообщений: 336
    • Просмотр профиля
Re: HOWTO: Iptables для новичков
« Ответ #1529 : 12 Февраля 2012, 22:37:59 »
AnrDaemon
Пытаюсь методом тыка)
При таком правиле:
iptables -I FORWARD 4 -p icmp -m limit --limit 10/min --limit-burst 1 -j DROPНа машине из локалки запускаю ping -n 20 213.180.193.3
(Нажмите, чтобы показать/скрыть)
Получается, что это правило разрешает пройти (благодаря --limit-burst 1) только одному пакету в 6-ть секунд.
Верно?
« Последнее редактирование: 12 Февраля 2012, 22:41:43 от ivsatel »

 

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