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


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

Автор Тема: Проброс через 2 шлюза  (Прочитано 2361 раз)

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

Оффлайн saber

  • Автор темы
  • Участник
  • *
  • Сообщений: 224
    • Просмотр профиля
    • Блог админа
Проброс через 2 шлюза
« : 27 Июня 2011, 10:17:51 »
День добрый, казалось бы тривиальная задача.
сначала один проброс настраиваем потом второй.

рассказываю, с пачкой филиалов. соединённых через OpenVPN

есть основной сервер OpenVPN с адресом 10.10.10.1
у него есть клиент с адресом 10.10.10.10 (Клиент является шлюзом в свой филиал, у него поднят маскарад)
за тем клиентом есть машинка ( 192.168.0.5 ), вот к ней и надо достучаться.

по сути с основного сервера если сделать nmap 192.168.0.5 -p 5500
то вижу
5500/tcp open  hotline
Вроде всё хорошо могу просто сделать проброс. но не получается получаю вот такую картину

# tcpdump -i tun0 -n host 192.168.0.15
tcpdump: WARNING: arptype 65534 not supported by libpcap - falling back to cooked socket
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type LINUX_SLL (Linux cooked), capture size 96 bytes
14:20:38.538971 IP 89.111.111.12.53543 > 192.168.0.15.5500: S 3441621833:3441621833(0) win 1024 <mss 128>
14:20:38.639076 IP 89.111.111.12.53544 > 192.168.0.15.5500: S 3441687368:3441687368(0) win 4096 <mss 128>


Это я делаю на шлюзе (10.10.10.10)

если я делаю этот де нмап с Сервера (10.10.10.1)
nmap 192.168.0.15 -p 5500

Starting Nmap 4.53 ( http://insecure.org ) at 2011-06-27 14:14 KRAST
Interesting ports on 192.168.0.15:
PORT     STATE SERVICE
5500/tcp open  hotline

в сниффере вижу вот это

14:22:37.654582 IP 10.10.10.1.63993 > 192.168.0.15.5500: S 2508903010:2508903010(0) win 4096 <mss 1368>
14:22:37.654916 IP 192.168.0.15.5500 > 10.10.10.1.63993: S 697761092:697761092(0) ack 2508903011 win 65535 <mss 1460>
14:22:37.749378 IP 10.10.10.1.63993 > 192.168.0.15.5500: R 2508903011:2508903011(0) win 0


Если делаю проброс на промежуточном шлюзе (10.10.10.10)
то получаю точно такую же картину.
сканирую 10.10.10.10 и вижу на нём открытый порт, но пробросить на ружу не получается.
хотя по апалогии куча портов проброшены

iptables -t nat -A PREROUTING -p tcp --dport 5500 -j DNAT --to-destination 192.168.0.15:5500
что я делаю не так?

odmin4eg.ru - Мои шпаргалки по ubuntu

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: Проброс через 2 шлюза
« Ответ #1 : 27 Июня 2011, 10:42:13 »
А зачем Вы пробрасываете порты на клиенте OpenVPN, если у Вас прозрачная маршрутизация?
Опираюсь на
если я делаю этот де нмап с Сервера (10.10.10.1)
nmap 192.168.0.15 -p 5500
....
5500/tcp open  hotline

Оффлайн saber

  • Автор темы
  • Участник
  • *
  • Сообщений: 224
    • Просмотр профиля
    • Блог админа
Re: Проброс через 2 шлюза
« Ответ #2 : 27 Июня 2011, 10:46:00 »
Да прозрачная, но проброс не работает, поэтому пробовал пробросить через 2 шлюза в надежде...

думал, что клиент 192.168.0.15 не знает что надо пакет отбратно отправлять на 10.10.10.1 т.к. у него шлюз 192.168.0.5 (он же клиент 10.10.10.10)
odmin4eg.ru - Мои шпаргалки по ubuntu

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: Проброс через 2 шлюза
« Ответ #3 : 27 Июня 2011, 10:47:50 »
Как же он не знает, если он через него ходит?

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: Проброс через 2 шлюза
« Ответ #4 : 27 Июня 2011, 10:49:12 »
Да прозрачная, но проброс не работает
Вы уже определитесь, маршрутизация ИЛИ проброс.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн saber

  • Автор темы
  • Участник
  • *
  • Сообщений: 224
    • Просмотр профиля
    • Блог админа
Re: Проброс через 2 шлюза
« Ответ #5 : 27 Июня 2011, 11:10:50 »
Хорошо, на первом этапе проброс, дальше если Сервер видит прозрачно хост, то пробрасывать не надо.

проброс делаю вот так

-A PREROUTING -d 217.111.111.99 -p tcp -m tcp --dport 5500 -j DNAT --to-destination 192.168.0.15:5500
-A POSTROUTING -d 10.10.10.10 -p tcp -m tcp --dport 5500 -j SNAT --to-source 217.111.111.99

10.10.10.10 это потому что шлюз вот этот видит пакеты от второго шлюза под этим адресом.

odmin4eg.ru - Мои шпаргалки по ubuntu

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: Проброс через 2 шлюза
« Ответ #6 : 27 Июня 2011, 11:20:22 »
10.10.10.10 это потому что шлюз вот этот видит пакеты от второго шлюза под этим адресом.
Переведите

Пользователь решил продолжить мысль 27 Июня 2011, 11:22:54:
Если у Вас прозрачная маршрутизация - зачем на втором шлюзе сделан маскарад?
« Последнее редактирование: 27 Июня 2011, 11:22:54 от fisher74 »

Оффлайн saber

  • Автор темы
  • Участник
  • *
  • Сообщений: 224
    • Просмотр профиля
    • Блог админа
Re: Проброс через 2 шлюза
« Ответ #7 : 27 Июня 2011, 12:00:42 »
Пакеты, что приходят с 192.168.0.15 на 10.10.10.1, рассматриваются как пакеты пришедшие с 10.10.10.10 т.к. последний является НАТом для сети филиала.

почему НАТы?
видимо исторически так сложилось с тех времён когда каждый шлюз был шлюзом прямо в тырнет.

из-за этого ната беда?
odmin4eg.ru - Мои шпаргалки по ubuntu

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: Проброс через 2 шлюза
« Ответ #8 : 27 Июня 2011, 12:03:59 »
Только вот в построутинге я не вижу необходимости. И никак не пойму, что Вы хотели им сделать

Оффлайн saber

  • Автор темы
  • Участник
  • *
  • Сообщений: 224
    • Просмотр профиля
    • Блог админа
Re: Проброс через 2 шлюза
« Ответ #9 : 27 Июня 2011, 12:13:33 »
Убрал нат, в клиенте (10.10.10.10) сейчас только mss корректируется

с  сервера я вижу открытый порт

# nmap 192.168.0.15 -p 5500

Starting Nmap 4.53 ( http://insecure.org ) at 2011-06-27 16:06 KRAST
Interesting ports on 192.168.0.15:
PORT     STATE SERVICE
5500/tcp open  hotline


из вне
проброс сделан вот так
-A PREROUTING -d 217.111.111.99 -p tcp -m tcp --dport 5500 -j DNAT --to-destination 192.168.0.15:5500
Запускаю сниффер на Сервере, интерфейс что смотрит наружу.
то вижу вот это, при попытках сканировать nmap'om
tcpdump -i eth1 port 5500
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes
16:10:23.626347 IP my.net.54149 > 217.111.111.99.5500: S 1832182461:1832182461(0) win 1024 <mss 128>
16:10:23.733406 IP my.net.54150 > 217.111.111.99.5500: S 1832247996:1832247996(0) win 3072 <mss 128>

Если при этом же я запускаю сниффер на интерфейс OpenVPN

# tcpdump -i tun0 port 5500
tcpdump: WARNING: arptype 65534 not supported by libpcap - falling back to cooked socket
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type LINUX_SLL (Linux cooked), capture size 96 bytes
16:10:46.946834 IP 217.111.111.99.41469 > 192.168.0.15.5500: S 3921014561:3921014561(0) win 1024 <mss 128>
16:10:47.055559 IP 217.111.111.99.41470 > 192.168.0.15.5500: S 3920949024:3920949024(0) win 3072 <mss 128>

я так понимаю обратно не идут пакеты?






Пользователь решил продолжить мысль 27 Июня 2011, 12:17:33:
Ну вот беда то...

теперь если сканирую с сервера.

то вижу это
# nmap 192.168.0.15 -p 5500

Starting Nmap 4.53 ( http://insecure.org ) at 2011-06-27 16:15 KRAST
Interesting ports on 192.168.0.15:
PORT     STATE    SERVICE
5500/tcp filtered hotline

Если сканирую с клинта

# nmap 192.168.0.15

Starting Nmap 4.53 ( http://insecure.org ) at 2011-06-27 16:23 KRAST
Interesting ports on 192.168.0.15:
Not shown: 1709 closed ports
PORT     STATE SERVICE
135/tcp  open  msrpc
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
5500/tcp open  hotline


Такое бывает? на 0.15 нет ничего голая ХП и демон один, что слушает этот порт

« Последнее редактирование: 27 Июня 2011, 12:17:33 от saber »
odmin4eg.ru - Мои шпаргалки по ubuntu

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: Проброс через 2 шлюза
« Ответ #10 : 27 Июня 2011, 12:25:22 »
Во-первых: стотыщпицот раз говорили, что нужно показывать все правила, а не выгрызки
Во-вторых: пакеты от локальных приложений (а Вашем случае nmap) не попадают в цепочку PREROUTING таблицы nat
Возьмите схему работы iptables и, прежде чем сниффить и сканить, что-либо, подвигайте по нему пальцем, чтобы понять, что Вы должны увидеть

Цитировать
Такое бывает? на 0.15 нет ничего голая ХП и демон один, что слушает этот порт
:2funny:  :2funny:  :2funny:  :2funny:  :2funny:
Вы уверены, что в голой ХР только Ваш демон крутится? Ню-ню. Советую глянуть tasklist и офигеть от их множества
« Последнее редактирование: 27 Июня 2011, 12:27:09 от fisher74 »

Оффлайн saber

  • Автор темы
  • Участник
  • *
  • Сообщений: 224
    • Просмотр профиля
    • Блог админа
Re: Проброс через 2 шлюза
« Ответ #11 : 27 Июня 2011, 13:12:29 »
Цитировать
Во-первых: стотыщпицот раз говорили, что нужно показывать все правила, а не выгрызки

там будет лист на 100500 правил, которые совсем ничего не покажут и не расскажут.
Хотя повырезал некоторые, вот по сейчас поставил вот такой.


(Нажмите, чтобы показать/скрыть)


Цитировать
Во-вторых: пакеты от локальных приложений (а Вашем случае nmap) не попадают в цепочку PREROUTING таблицы nat

Вот это уже интересно, это я хорошо понимаю, и вроде не пытался снифирить что-то из внутренних. видимо меня не так поняли.

сканировал я нмапом с наружи, по определённому порту. показывал что видно в tcpdump и сканировал с сервера и показывал, что видимо сниффер на клиенте.

я как бЭ и не целился попасть в свой.... хотя по началу когда пытался сделать двойной проброс может быть и...
odmin4eg.ru - Мои шпаргалки по ubuntu

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: Проброс через 2 шлюза
« Ответ #12 : 27 Июня 2011, 14:00:59 »
Цитировать
-A POSTROUTING -s 192.168.0.15 -p tcp -m tcp --sport 5500 -j SNAT --to-source 217.111.111.99

я, признаться не был готов к тому, что на интернет-шлюзе нет
-t nat -A POSTROUTING -o ppp0 -j SNAT --to-source 217.xxx.xxx.xx
Ну или, какой там у Вас интерфейс смотрит в фулл
« Последнее редактирование: 27 Июня 2011, 14:03:25 от fisher74 »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: Проброс через 2 шлюза
« Ответ #13 : 27 Июня 2011, 14:03:50 »
Закуем эта строка вообще, если есть
-A POSTROUTING -s 192.168.0.0/255.255.0.0 -o eth1 -j MASQUERADE
?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13761
    • Просмотр профиля
Re: Проброс через 2 шлюза
« Ответ #14 : 27 Июня 2011, 14:05:06 »
Я не уверен, что eth1  - есть выход в интерент. ТС эту тему решил не раскрывать

Пользователь решил продолжить мысль 27 Июня 2011, 14:06:30:
А, точно... Выше в сниффинге это видно

 

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