The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"VPN, не проходит GRE через интерфейс"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"VPN, не проходит GRE через интерфейс"
Сообщение от KAV emailИскать по авторуВ закладки on 01-Мрт-04, 10:50  (MSK)
ASPLinux - шлюз, фильтрация пакетов iptables,
внутренний интерфейс eth0 xxx.xxx.xxx.xxx
внешний интерфейс eth1 yyy.yyy.yyy.yyy,
VPN серевер1 удаленный zz1.zz1.zz1.zz1
VPN серевер2 удаленный zz2.zz2.zz2.zz2
Настройки iptables.
*filter
:FORWARD ACCEPT
:OUTPUT ACCEPT
-A INPUT -p icmp -j ACCEPT
-A -INPUT -s xxx.xxx.xxx.0/255.255.255.0 -d yyy.yyy.yyy.yyy -i eth0 -p tcp -m tcp --dport 1723 -j ACCEPT
-A -INPUT -s zz1.zz1.zz1.zz1 -d yyy.yyy.yyy.yyy -i eth1 -p tcp -m tcp --sport 1723 -j ACCEPT
-A -INPUT -s zz2.zz2.zz2.zz2 -d yyy.yyy.yyy.yyy -i eth1 -p tcp -m tcp --sport 1723 -j ACCEPT
-A INPUT -p 47 -j ACCEPT
*nat
-A POSTROUTING -s xxx.xxx.xxx.0/255.255.255.0 -d zz1.zz1.zz1.zz1 -j SNAT --to-source yyy.yyy.yyy.yyy
-A POSTROUTING -s xxx.xxx.xxx.0/255.255.255.0 -d zz2.zz2.zz2.zz2 -j SNAT --to-source yyy.yyy.yyy.yyy

протокол gre загружен. в lsmod присутствует ip_gre

Проблема такая. При установке соединения до zz1.zz1.zz1.zz1 проходит все нормально.
в tcpdump'е идет обмен сначала по 1723
tcpdump -i any host zz1.zz1.zz1.zz1
11:21:54.625744 xxx.xxx.xxx.xxx.1041 > zz1.zz1.zz1.zz1.1723: S 6085210:6085210(0) win 4288 <mss 1460,nop,nop,sackOK>
11:21:54.625785 yyy.yyy.yyy.yyy.1041 > zz1.zz1.zz1.zz1.1723: S 6085210:6085210(0) win 4288 <mss 1460,nop,nop,sackOK>
11:21:55.630860 zz1.zz1.zz1.zz1.1723 > yyy.yyy.yyy.yyy.1041: S 3637473255:3637473255(0) ack 6085211 win 65535 <mss 1460,nop,nop,sackOK> (DF)
11:21:55.630910 zz1.zz1.zz1.zz1.1723 > xxx.xxx.xxx.xxx.1041: S 3637473255:3637473255(0) ack 6085211 win 65535 <mss 1460,nop,nop,sackOK> (DF)
11:21:55.631252 xxx.xxx.xxx.xxx.1041 > zz1.zz1.zz1.zz1.1723: . ack 1 win 4288
11:21:55.631275 yyy.yyy.yyy.yyy.1041 > zz1.zz1.zz1.zz1.1723: . ack 1 win 4288
11:21:55.631327 xxx.xxx.xxx.xxx.1041 > zz1.zz1.zz1.zz1.1723: P 1:157(156) ack 1 win 4288
11:21:55.631339 yyy.yyy.yyy.yyy.1041 > zz1.zz1.zz1.zz1.1723: P 1:157(156) ack 1 win 4288
11:21:57.009423 zz1.zz1.zz1.zz1.1723 > yyy.yyy.yyy.yyy.1041: P 1:157(156) ack 157 win 65379 (DF)
11:21:57.009450 zz1.zz1.zz1.zz1.1723 > xxx.xxx.xxx.xxx.1041: P 1:157(156) ack 157 win 65379 (DF)

Далее уже идет по gre
11:22:00.908342 zz1.zz1.zz1.zz1 > yyy.yyy.yyy.yyy: gre-proto-0x880B (gre encap)
11:22:00.908361 zz1.zz1.zz1.zz1 > xxx.xxx.xxx.xxx: gre-proto-0x880B (gre encap)
11:22:00.908469 zz1.zz1.zz1.zz1 > yyy.yyy.yyy.yyy: gre-proto-0x880B (gre encap)
11:22:00.908479 zz1.zz1.zz1.zz1 > xxx.xxx.xxx.xxx: gre-proto-0x880B (gre encap)
11:22:01.040722 xxx.xxx.xxx.xxx > zz1.zz1.zz1.zz1: gre-proto-0x880B (gre encap)
11:22:01.040737 yyy.yyy.yyy.yyy > zz1.zz1.zz1.zz1: gre-proto-0x880B (gre encap)
11:22:01.230659 xxx.xxx.xxx.xxx > zz1.zz1.zz1.zz1: [|gre] (gre encap)
11:22:01.230673 yyy.yyy.yyy.yyy > zz1.zz1.zz1.zz1: [|gre] (gre encap)
11:22:01.247382 zz1.zz1.zz1.zz1 > yyy.yyy.yyy.yyy: gre-proto-0x880B (gre encap)
11:22:01.247397 zz1.zz1.zz1.zz1 > xxx.xxx.xxx.xxx: gre-proto-0x880B (gre encap)
11:22:01.440647 xxx.xxx.xxx.xxx > zz1.zz1.zz1.zz1: gre-proto-0x880B (gre encap)

Канал есть.

Если же коннектиться до zz2.zz2.zz2.zz2
то
tcpdump -i any host zz2.zz2.zz2.zz2
обмен по 1723, нормально, как и с zz1.zz1.zz1.zz1
а вот когда уже gre должен быть, тогда
11:06:57.810713 zz2.zz2.zz2.zz2 > yyy.yyy.yyy.yyy: gre-proto-0x880B (gre encap)
11:06:57.853775 xxx.xxx.xxx.xxx > zz2.zz2.zz2.zz2: gre-proto-0x880B (gre encap)
11:07:00.819848 zz2.zz2.zz2.zz2 > yyy.yyy.yyy.yyy: gre-proto-0x880B (gre encap)
11:07:00.853027 xxx.xxx.xxx.xxx > zz2.zz2.zz2.zz2: gre-proto-0x880B (gre encap)
11:07:03.810888 zz2.zz2.zz2.zz2 > yyy.yyy.yyy.yyy: gre-proto-0x880B (gre encap)
11:07:03.852221 xxx.xxx.xxx.xxx > zz2.zz2.zz2.zz2: gre-proto-0x880B (gre encap)

Получается, что gre не проходит через внешний интерфейс.
Но почему? Не пойму. Если с другим хостом все нормально!

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "VPN, не проходит GRE через интерфейс"
Сообщение от Dimez emailИскать по авторуВ закладки on 01-Мрт-04, 20:55  (MSK)
для того, чтобы обычное ядро пропускало через себя VPN(GRE) траффик, надо разрешить хождение 47-го протокола
  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "VPN, не проходит GRE через интерфейс"
Сообщение от KAV emailИскать по авторуВ закладки on 02-Мрт-04, 07:29  (MSK)
>для того, чтобы обычное ядро пропускало через себя VPN(GRE) траффик, надо разрешить
>хождение 47-го протокола
так ведь
-A INPUT -p 47 -j ACCEPT
как раз и разрешает ходить gre.
Интересно, что если стучаться до хоста zz1.zz1.zz1, грузить вообще не обязательно ip_gre! И соединяется же, и в tcpdump показывает, что коннект по gre идет.
А zz2.zz2.zz2 требует ip_gre.
Решил с zz1.zz1.zz1 попробовать законнектиться, вообще без всякого упоминания о gre, в том числе убрал -A INPUT -p 47 -j ACCEPT.
И законнектился!
Потом уже попробовал (просто так уж) достучаться до zz2.zz2.zz2.
И "о чудо!" :) Коннект с полпинка. Работает нормально.
Так что не знаю что и думать.
  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру