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


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

Автор Тема: Iptables - DNAT. Фильтрация по source и destination ip  (Прочитано 1147 раз)

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

Оффлайн a.guzhin

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Имеется шлюз на базе Ubuntu Server 12.04
За шлюзом расположен сервер Asterisk1, который SIP-транком должен соединяться с другим Asterisk2 с фиксированным IP.

На шлюзе созданы два правила DNAT для SIP и RTP:
iptables -t nat -A PREROUTING -p udp -d 11.11.11.1 -s 22.22.22.1 -m udp --dport 10000:20000 -j DNAT --to-destination 10.0.0.1:10000-20000
iptables -t nat -A PREROUTING -p udp -d 11.11.11.1 -s 22.22.22.1 -m udp --dport 5060 -j DNAT --to-destination 10.0.0.1:5060

В логах Asterisk1 вижу попытки регистрации с других адресов сети.

В дампах шлюза:
1 82.205.2.2 11.11.11.1 SIP/SDP 798 Request: INVITE sip:997109@11.11.11.1 |
2 82.205.2.2 10.0.0.1 SIP/SDP 798 Request: INVITE sip:997109@11.11.11.1 |
3 10.0.0.1 82.205.2.2 SIP 595 Status: 401 Unauthorized |

Т.е. пакеты проходят с любого IP.
В чем может быть ошибка?

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: Iptables - DNAT. Фильтрация по source и destination ip
« Ответ #1 : 08 Июня 2016, 07:39:14 »
В чем может быть ошибка?
В понимании работы netfilter, например

Нельзя говорить о его работе по 1-2 правилам.
Показывайте все правила
sudo iptables-save

Оффлайн a.guzhin

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Re: Iptables - DNAT. Фильтрация по source и destination ip
« Ответ #2 : 08 Июня 2016, 13:57:05 »
# Generated by iptables-save v1.4.12
*mangle
:PREROUTING ACCEPT [9924088:4599974142]
:INPUT ACCEPT [3633718:975013854]
:FORWARD ACCEPT [6278598:3621808382]
:OUTPUT ACCEPT [4406482:3302821348]
:POSTROUTING ACCEPT [10684409:6924561460]
COMMIT
*nat
:PREROUTING ACCEPT [430491:324946357]
:INPUT ACCEPT [47741:2929974]
:OUTPUT ACCEPT [6909:481850]
:POSTROUTING ACCEPT [57611:3390207]
-A PREROUTING -s 89.XXX.XXX.XXX/32 -i eth0 -p 53 -j DNAT --to-destination 10.0.0.2
-A PREROUTING -s 77.XXX.XXX.XXX/32 -i eth0 -p 53 -j DNAT --to-destination 10.0.0.2
-A PREROUTING -s 89.YYY.XXX.XXX/32 -i eth0 -p 53 -j DNAT --to-destination 10.0.0.2
-A PREROUTING -s 89.XXX.XXX.XXX/32 -i eth0 -p 56 -j DNAT --to-destination 10.0.0.2
-A PREROUTING -s 77.XXX.XXX.XXX/32 -i eth0 -p 56 -j DNAT --to-destination 10.0.0.2
-A PREROUTING -s 89.YYY.XXX.XXX/32 -i eth0 -p 56 -j DNAT --to-destination 10.0.0.2
-A PREROUTING -s 22.22.22.1/32 -d 11.11.11.1/32 -p udp -m udp --dport 10000:20000 -j DNAT --to-destination 10.0.0.1:10000-20000
-A PREROUTING -s 22.22.22.1/32 -d 11.11.11.1/32 -p udp -m udp --dport 5060 -j DNAT --to-destination 10.0.0.1:5060
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
*filter
:INPUT DROP [322491:318276416]
:FORWARD ACCEPT [6278598:3621808382]
:OUTPUT DROP [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 443 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth1 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -o eth0 -j ACCEPT
-A OUTPUT -o eth1 -j ACCEPT
COMMIT
« Последнее редактирование: 09 Июня 2016, 07:15:51 от a.guzhin »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Iptables - DNAT. Фильтрация по source и destination ip
« Ответ #3 : 08 Июня 2016, 17:39:41 »
a.guzhin, вас что попросили показать?
А что показали вы?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн a.guzhin

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Re: Iptables - DNAT. Фильтрация по source и destination ip
« Ответ #4 : 09 Июня 2016, 07:16:56 »
AnrDaemon, не было сервера под рукой, выложил то, что было - бекап скрипта, настраивающего правила.
Поправил свое предыдущее сообщение
« Последнее редактирование: 09 Июня 2016, 07:26:47 от a.guzhin »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Iptables - DNAT. Фильтрация по source и destination ip
« Ответ #5 : 09 Июня 2016, 07:31:26 »
Лучше не стало. В шпионов играться можно долго.
-A PREROUTING -s 89.XXX.XXX.XXX/32 -i eth0 -p 53 -j DNAT --to-destination 10.0.0.2
-A PREROUTING -s 77.XXX.XXX.XXX/32 -i eth0 -p 53 -j DNAT --to-destination 10.0.0.2
-A PREROUTING -s 89.YYY.XXX.XXX/32 -i eth0 -p 53 -j DNAT --to-destination 10.0.0.2
-A PREROUTING -s 89.XXX.XXX.XXX/32 -i eth0 -p 56 -j DNAT --to-destination 10.0.0.2
-A PREROUTING -s 77.XXX.XXX.XXX/32 -i eth0 -p 56 -j DNAT --to-destination 10.0.0.2
-A PREROUTING -s 89.YYY.XXX.XXX/32 -i eth0 -p 56 -j DNAT --to-destination 10.0.0.2
Вот это что должно означать?
:OUTPUT DROP [0:0]Ошибка.
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 443 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-state +conntrack
Плюс нарушена логика построения правил. Третье должно быть первым, ну или вторым.

-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -o eth0 -j ACCEPT
-A OUTPUT -o eth1 -j ACCEPT
Бессмысленно и ненужно.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн a.guzhin

  • Автор темы
  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Re: Iptables - DNAT. Фильтрация по source и destination ip
« Ответ #6 : 09 Июня 2016, 14:59:27 »
Лучше не стало. В шпионов играться можно долго.
-A PREROUTING -s 89.XXX.XXX.XXX/32 -i eth0 -p 53 -j DNAT --to-destination 10.0.0.2
-A PREROUTING -s 77.XXX.XXX.XXX/32 -i eth0 -p 53 -j DNAT --to-destination 10.0.0.2
-A PREROUTING -s 89.YYY.XXX.XXX/32 -i eth0 -p 53 -j DNAT --to-destination 10.0.0.2
-A PREROUTING -s 89.XXX.XXX.XXX/32 -i eth0 -p 56 -j DNAT --to-destination 10.0.0.2
-A PREROUTING -s 77.XXX.XXX.XXX/32 -i eth0 -p 56 -j DNAT --to-destination 10.0.0.2
-A PREROUTING -s 89.YYY.XXX.XXX/32 -i eth0 -p 56 -j DNAT --to-destination 10.0.0.2
Вот это что должно означать?
Что дадут реальные IP?
Здесь весь трафик серверов 77.XXX.XXX.XXX, 89.YYY.XXX.XXX, 89.XXX.XXX.XXX по протоколам 53 и 56 уходит на сервер 10.0.0.2 - аппаратный VPN шлюз.

:OUTPUT DROP [0:0]Ошибка.
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 443 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-state +conntrack
Плюс нарушена логика построения правил. Третье должно быть первым, ну или вторым.
state заменю на conntrack, правило подниму выше.
Только в чем нарушение логики? Больше правил будет проверено?

-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -o eth0 -j ACCEPT
-A OUTPUT -o eth1 -j ACCEPT
Бессмысленно и ненужно.
Действие по умолчанию в цепочке OUTPUT - DROP, если бы стоял ACCEPT, то да.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: Iptables - DNAT. Фильтрация по source и destination ip
« Ответ #7 : 09 Июня 2016, 15:10:12 »
DROP в OUTPUT это ошибка.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

 

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