The OpenNET Project / Index page

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

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

"vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от handler2006 email(ok) on 31-Окт-09, 09:48 
Здравствуйте!
имеем роутер на базе Fedora10 +
eth0 - локальная сеть
eth1-eth4 - подключены к адсл-модемам
Описаны 4 таблицы маршрутизации для 4 интерфейсов и пакеты маркируются 4-мя метками для роутинга на внешние интерфейсы - вобщем, до сих пор все как по учебнику.
Теперь мы создаем vpn-туннели на локальном интерфейсе и прописываем для  них правила в iptables:
эти строки необходимы для создания vpn-туннеля:
#${FW} -A INPUT -i $IF_PPP -s $NET_PPP -j ACCEPT
#${FW} -A INPUT -i $IF_LOCAL -s $DHCP_NET -p gre -j ACCEPT
#${FW} -A INPUT -i $IF_LOCAL -s $DHCP_NET -p tcp --dport 1723 -j ACCEPT
#${FW} -A INPUT -i $IF_LOCAL -s $DHCP_NET -p udp --dport 1723 -j ACCEPT

#${FW} -A OUTPUT -o $IF_PPP -d $NET_PPP -j ACCEPT
#${FW} -A OUTPUT -o $IF_LOCAL -d $DHCP_NET -p gre -j ACCEPT
#${FW} -A OUTPUT -o $IF_LOCAL -d $DHCP_NET -p tcp --sport 1723 -j ACCEPT
#${FW} -A OUTPUT -o $IF_LOCAL -d $DHCP_NET -p udp --sport 1723 -j ACCEPT

Собственно, форвардинг:
#${FW} -A FORWARD -i $IF_PPP -s $NET_PPP -d 0/0 -j ACCEPT
#${FW} -A FORWARD -s 0/0 -d $NET_PPP -m state --state ESTABLISHED,RELATED -j ACCEPT

И НАТ:
#${FW} -t nat -A POSTROUTING -s $NET_PPP  -j SNAT --to-source $IP_PR1

Получаем интересную картину:
сам ppp-сервер пингуется;
сами адсл-модемы пингуются;
адреса eth1-eth4 и адреса в интернет НЕ пингуются.

/etc/ppp/options.pptpd поставил опцию "noproxyarp", а то при создании туннеля пишет "Cannot determine proxy arp"

Вывод каких команд Вам показать, чтобы иметь полную картину происходящего?


Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от PavelR (??) on 31-Окт-09, 10:15 
>[оверквотинг удален]
>
>Получаем интересную картину:
>сам ppp-сервер пингуется;
>сами адсл-модемы пингуются;
>адреса eth1-eth4 и адреса в интернет НЕ пингуются.
>
>/etc/ppp/options.pptpd поставил опцию "noproxyarp", а то при создании туннеля пишет "Cannot determine
>proxy arp"
>
>Вывод каких команд Вам показать, чтобы иметь полную картину происходящего?

Вы показали колесо и спросили - а почему машина не едет...

Собственно, если вам сильно влом... то нафиг кому-то на форуме Вам подсказывать.

В общем- так и не понятно, в чем у вас проблема - в файрволле, в маршрутизации, в кривом NAT, в непонятной маркировке пакетов или хз в чем.


Инструменты для отладки - голова, которая будет просчитывать прохождение каждого пакета в обе стороны...

для проверки правильности / совпадения ожидаемого с действительным: tcpdump

Для того, чтобы понять что есть в текущей конфигурации Вам пригодятся команды:

ip ru sh
ip ro sh table (a | b | c | d | etc)
iptables -nvL --line
iptables -t nat -nvL --line
iptables -t mangle -nvL --line
iptables -t raw -nvL  --line

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от handler2006 email(ok) on 31-Окт-09, 13:44 
а чем Вам не понятна маркировка пакетов? Статьи по маркировке на этом же сайте и лежат.
Мне не в лом - просто я не знаю, чем мне еще мониторить систему.
Тот же tcpdump показывает, что пакет в нужном направлении ушел и не вернулся.
Как узнать, почему он не вернулся?
Поэтому я и обратился за помощью к Вам, потому что уже все инструменты перепробовал:
таблицы маршрутизации - пожалуйста, все как полагается:
# ip ru sh
0:    from all lookup local
32756:    from all fwmark 0x32 lookup RT5
32757:    from all fwmark 0x28 lookup RT4
32758:    from all fwmark 0x1e lookup RT3
32759:    from all fwmark 0x14 lookup RT2
32760:    from all fwmark 0xa lookup RT1
32761:    from 10.10.50.10 lookup RT5
32762:    from 10.10.40.10 lookup RT4
32763:    from 10.10.30.10 lookup RT3
32764:    from 10.10.20.10 lookup RT2
32765:    from 10.10.10.10 lookup RT1
32766:    from all lookup main
32767:    from all lookup default

# ip ro sh table RT1
10.10.20.0/24 dev eth2  scope link
10.10.50.0/24 dev eth1.50  scope link
10.10.30.0/24 dev eth3  scope link
10.10.10.0/24 dev eth1.10  scope link  src 10.10.10.10
10.10.40.0/24 dev eth4  scope link
192.168.0.0/16 dev eth0  scope link
127.0.0.0/8 dev lo  scope link
default via 10.10.10.1 dev eth1.10

# ip ro sh table RT2
10.10.20.0/24 dev eth2  scope link  src 10.10.20.10
10.10.50.0/24 dev eth1.50  scope link
10.10.30.0/24 dev eth3  scope link
10.10.10.0/24 dev eth1.10  scope link
10.10.40.0/24 dev eth4  scope link
192.168.0.0/16 dev eth0  scope link
127.0.0.0/8 dev lo  scope link
default via 10.10.20.1 dev eth2

# ip ro sh table RT3
10.10.20.0/24 dev eth2  scope link
10.10.50.0/24 dev eth1.50  scope link
10.10.30.0/24 dev eth3  scope link  src 10.10.30.10
10.10.10.0/24 dev eth1.10  scope link
10.10.40.0/24 dev eth4  scope link
192.168.0.0/16 dev eth0  scope link
127.0.0.0/8 dev lo  scope link
default via 10.10.30.1 dev eth3

# ip ro sh table RT4
10.10.20.0/24 dev eth2  scope link
10.10.50.0/24 dev eth1.50  scope link
10.10.30.0/24 dev eth3  scope link
10.10.10.0/24 dev eth1.10  scope link
10.10.40.0/24 dev eth4  scope link  src 10.10.40.10
192.168.0.0/16 dev eth0  scope link
127.0.0.0/8 dev lo  scope link
default via 10.10.40.1 dev eth4

# ip ro sh table RT5
10.10.20.0/24 dev eth2  scope link
10.10.50.0/24 dev eth1.50  scope link  src 10.10.50.10
10.10.30.0/24 dev eth3  scope link
10.10.10.0/24 dev eth1.10  scope link
10.10.40.0/24 dev eth4  scope link
192.168.0.0/16 dev eth0  scope link
127.0.0.0/8 dev lo  scope link
default via 10.10.50.1 dev eth1.50

Chain INPUT (policy ACCEPT 1 packets, 78 bytes)
num   pkts bytes target     prot opt in     out     source            destination        
4        0     0 ACCEPT     all  --  ppp+   *       100.100.100.0/24  0.0.0.0/0          

Chain FORWARD (policy ACCEPT 927 packets, 518K bytes)
num   pkts bytes target     prot opt in     out     source            destination        
3       32  1366 ACCEPT     all  --  ppp+   *       100.100.100.0/24  0.0.0.0/0          
5       19   872 ACCEPT     all  --  *      ppp+    0.0.0.0/0         100.100.100.0/24    state RELATED,ESTABLISHED

Chain OUTPUT (policy ACCEPT 740 packets, 81836 bytes)
num   pkts bytes target     prot opt in     out     source            destination        
5        0     0 ACCEPT     all  --  *      ppp+    0.0.0.0/0         100.100.100.0/24    

Chain PREROUTING (policy ACCEPT 190K packets, 14M bytes)
num   pkts bytes target     prot opt in     out     source               destination        

Chain POSTROUTING (policy ACCEPT 37299 packets, 2710K bytes)
num   pkts bytes target     prot opt in     out     source            destination        
2       93 13314 SNAT       all  --  *      *       100.100.100.0/24  0.0.0.0/0           to:10.10.10.10

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от handler2006 email(ok) on 31-Окт-09, 14:02 
Вот еще непонятная вещь:
правила iptables выполняются последовательно.
Мы имеем цепочку правил INPUT:
122      0     0 ACCEPT     all  --  eth0   *       192.168.111.1      0.0.0.0/0          
123      0     0 DROP       all  --  eth0   *       0.0.0.0/0          0.0.0.0/0          
124     18  3714 INC        all  --  *      *       0.0.0.0/0          0.0.0.0/0          
125     16  3634 ACCEPT     all  --  *      *       0.0.0.0/0          0.0.0.0/0           state RELATED,ESTABLISHED

Насколько я понимаю, начиная со 124 строки все пакеты , приходящие с eth0, отбрасываются и в цепочку INC они не попадают?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от PavelR (??) on 31-Окт-09, 14:23 
>Вот еще непонятная вещь:
>правила iptables выполняются последовательно.
>Мы имеем цепочку правил INPUT:
>
>Насколько я понимаю, начиная со 124 строки все пакеты , приходящие с
>eth0, отбрасываются и в цепочку INC они не попадают?

1. не вижу чтобы пакеты приходящие с eth0 "отбрасывались"
2. Вероятно, вы подразумеваете что на 125 правило пришло на два пакета меньше..
   Что вы с ними сделали в цепочке INC - аудитории не известно, разгребайтесь сами.


-----------

Парочка замечаний:

1. Некоторые из статей этого сайта (целых 2 штуки) по маркировке пакетов - написаны мной...
2. Сообщением выше вы показали цепочку

Chain INPUT (policy ACCEPT 1 packets, 78 bytes)
num   pkts bytes target     prot opt in     out     source            destination        
4        0     0 ACCEPT     all  --  ppp+   *       100.100.100.0/24  0.0.0.0/0          

состоящую из одного правила, а предыдущее сообщение - уже содержит 125 (минимум) правил...

3. правил маркировки пакетов вы так и не показали


ТАК ЧЕГО ЖЕ ВЫ ХОТИТЕ ??

повторю еще раз: показали колесо и жалуетесь - машина не едет...


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от handler2006 email(ok) on 31-Окт-09, 15:48 
объясните мне правило в строке 131


# iptables -nvL --line
Chain INPUT (policy ACCEPT 3 packets, 110 bytes)
num   pkts bytes target     prot opt in     out     source               destination        
1        0     0 LOG        all  --  ppp+   *       100.100.100.0/24     0.0.0.0/0           LOG flags 0 level 4 prefix `PPP_INPUT: '
2        0     0 ACCEPT     all  --  ppp+   *       100.100.100.0/24     0.0.0.0/0          
3        0     0 LOG        47   --  eth0   *       192.168.111.1        0.0.0.0/0           LOG flags 0 level 4 prefix `GRE_INPUT: '
4        0     0 ACCEPT     47   --  eth0   *       192.168.111.1        0.0.0.0/0          
5        0     0 LOG        tcp  --  eth0   *       192.168.111.1        0.0.0.0/0           tcp dpt:1723 LOG flags 0 level 4 prefix `TCP_INPUT: '
6        0     0 ACCEPT     tcp  --  eth0   *       192.168.111.1        0.0.0.0/0           tcp dpt:1723
7        0     0 LOG        udp  --  eth0   *       192.168.111.1        0.0.0.0/0           udp dpt:1723 LOG flags 0 level 4 prefix `UDP_INPUT: '
8        0     0 ACCEPT     udp  --  eth0   *       192.168.111.1        0.0.0.0/0           udp dpt:1723
9        0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0          
10       0     0 ACCEPT     all  --  eth0   *       192.168.101.65       0.0.0.0/0          
11       0     0 ACCEPT     all  --  eth0   *       192.168.111.45       0.0.0.0/0          
12       0     0 ACCEPT     all  --  eth0   *       192.168.101.56       0.0.0.0/0          
13       0     0 ACCEPT     all  --  eth0   *       192.168.44.67        0.0.0.0/0          
14       0     0 ACCEPT     all  --  eth0   *       192.168.101.36       0.0.0.0/0          
15       0     0 ACCEPT     all  --  eth0   *       192.168.1.11         0.0.0.0/0          
16       1    65 ACCEPT     all  --  eth0   *       192.168.2.3          0.0.0.0/0          
17       6   399 ACCEPT     all  --  eth0   *       192.168.44.90        0.0.0.0/0          
18       0     0 ACCEPT     all  --  eth0   *       192.168.46.68        0.0.0.0/0          
19       0     0 ACCEPT     all  --  eth0   *       192.168.4.8          0.0.0.0/0          
20       0     0 ACCEPT     all  --  eth0   *       192.168.1.81         0.0.0.0/0          
21       0     0 ACCEPT     all  --  eth0   *       192.168.109.43       0.0.0.0/0          
22       0     0 ACCEPT     all  --  eth0   *       192.168.44.83        0.0.0.0/0          
23       0     0 ACCEPT     all  --  eth0   *       192.168.46.20        0.0.0.0/0          
24       0     0 ACCEPT     all  --  eth0   *       192.168.44.28        0.0.0.0/0          
25       0     0 ACCEPT     all  --  eth0   *       192.168.46.72        0.0.0.0/0          
26       0     0 ACCEPT     all  --  eth0   *       192.168.201.36       0.0.0.0/0          
27       0     0 ACCEPT     all  --  eth0   *       192.168.46.57        0.0.0.0/0          
28       0     0 ACCEPT     all  --  eth0   *       192.168.109.41       0.0.0.0/0          
29       0     0 ACCEPT     all  --  eth0   *       192.168.46.26        0.0.0.0/0          
30       0     0 ACCEPT     all  --  eth0   *       192.168.48.29        0.0.0.0/0          
31       0     0 ACCEPT     all  --  eth0   *       192.168.3.10         0.0.0.0/0          
32       0     0 ACCEPT     all  --  eth0   *       192.168.113.89       0.0.0.0/0          
33       0     0 ACCEPT     all  --  eth0   *       192.168.111.48       0.0.0.0/0          
34       1    66 ACCEPT     all  --  eth0   *       192.168.101.80       0.0.0.0/0          
35       0     0 ACCEPT     all  --  eth0   *       192.168.44.27        0.0.0.0/0          
36       7   546 ACCEPT     all  --  eth0   *       192.168.1.63         0.0.0.0/0          
37       0     0 ACCEPT     all  --  eth0   *       192.168.1.68         0.0.0.0/0          
38       0     0 ACCEPT     all  --  eth0   *       192.168.109.77       0.0.0.0/0          
39       0     0 ACCEPT     all  --  eth0   *       192.168.113.99       0.0.0.0/0          
40       3   110 ACCEPT     all  --  eth0   *       192.168.44.59        0.0.0.0/0          
41       2   133 ACCEPT     all  --  eth0   *       192.168.44.89        0.0.0.0/0          
42       0     0 ACCEPT     all  --  eth0   *       192.168.4.7          0.0.0.0/0          
43       0     0 ACCEPT     all  --  eth0   *       192.168.44.11        0.0.0.0/0          
44       0     0 ACCEPT     all  --  eth0   *       192.168.1.12         0.0.0.0/0          
45       0     0 ACCEPT     all  --  eth0   *       192.168.44.80        0.0.0.0/0          
46       0     0 ACCEPT     all  --  eth0   *       192.168.1.42         0.0.0.0/0          
47       0     0 ACCEPT     all  --  eth0   *       192.168.46.7         0.0.0.0/0          
48       0     0 ACCEPT     all  --  eth0   *       192.168.46.71        0.0.0.0/0          
49       0     0 ACCEPT     all  --  eth0   *       192.168.2.5          0.0.0.0/0          
50       0     0 ACCEPT     all  --  eth0   *       192.168.44.99        0.0.0.0/0          
51       0     0 ACCEPT     all  --  eth0   *       192.168.111.53       0.0.0.0/0          
52       2   149 ACCEPT     all  --  eth0   *       192.168.109.23       0.0.0.0/0          
53       0     0 ACCEPT     all  --  eth0   *       192.168.48.56        0.0.0.0/0          
54       0     0 ACCEPT     all  --  eth0   *       192.168.201.35       0.0.0.0/0          
55       6   404 ACCEPT     all  --  eth0   *       192.168.46.4         0.0.0.0/0          
56       0     0 ACCEPT     all  --  eth0   *       192.168.109.74       0.0.0.0/0          
57       0     0 ACCEPT     all  --  eth0   *       192.168.1.100        0.0.0.0/0          
58       0     0 ACCEPT     all  --  eth0   *       192.168.1.67         0.0.0.0/0          
59       0     0 ACCEPT     all  --  eth0   *       192.168.46.59        0.0.0.0/0          
60       0     0 ACCEPT     all  --  eth0   *       192.168.1.71         0.0.0.0/0          
61       0     0 ACCEPT     all  --  eth0   *       192.168.113.35       0.0.0.0/0          
62       0     0 ACCEPT     all  --  eth0   *       192.168.111.46       0.0.0.0/0          
63       0     0 ACCEPT     all  --  eth0   *       192.168.1.75         0.0.0.0/0          
64       0     0 ACCEPT     all  --  eth0   *       192.168.44.87        0.0.0.0/0          
65       0     0 ACCEPT     all  --  eth0   *       192.168.1.69         0.0.0.0/0          
66       0     0 ACCEPT     all  --  eth0   *       192.168.46.99        0.0.0.0/0          
67       0     0 ACCEPT     all  --  eth0   *       192.168.1.39         0.0.0.0/0          
68       0     0 ACCEPT     all  --  eth0   *       192.168.44.8         0.0.0.0/0          
69       0     0 ACCEPT     all  --  eth0   *       192.168.46.28        0.0.0.0/0          
70       0     0 ACCEPT     all  --  eth0   *       192.168.44.103       0.0.0.0/0          
71       0     0 ACCEPT     all  --  eth0   *       192.168.4.5          0.0.0.0/0          
72       0     0 ACCEPT     all  --  eth0   *       192.168.1.8          0.0.0.0/0          
73       6   401 ACCEPT     all  --  eth0   *       192.168.113.47       0.0.0.0/0          
74       0     0 ACCEPT     all  --  eth0   *       192.168.109.31       0.0.0.0/0          
75       1    72 ACCEPT     all  --  eth0   *       192.168.46.13        0.0.0.0/0          
76       0     0 ACCEPT     all  --  eth0   *       192.168.1.94         0.0.0.0/0          
77       0     0 ACCEPT     all  --  eth0   *       192.168.113.55       0.0.0.0/0          
78       0     0 ACCEPT     all  --  eth0   *       192.168.113.72       0.0.0.0/0          
79       1    65 ACCEPT     all  --  eth0   *       192.168.113.46       0.0.0.0/0          
80       0     0 ACCEPT     all  --  eth0   *       192.168.1.48         0.0.0.0/0          
81       0     0 ACCEPT     all  --  eth0   *       192.168.111.54       0.0.0.0/0          
82       0     0 ACCEPT     all  --  eth0   *       192.168.1.44         0.0.0.0/0          
83       0     0 ACCEPT     all  --  eth0   *       192.168.109.44       0.0.0.0/0          
84       0     0 ACCEPT     all  --  eth0   *       192.168.1.20         0.0.0.0/0          
85       0     0 ACCEPT     all  --  eth0   *       192.168.109.30       0.0.0.0/0          
86       0     0 ACCEPT     all  --  eth0   *       192.168.1.36         0.0.0.0/0          
87       0     0 ACCEPT     all  --  eth0   *       192.168.44.102       0.0.0.0/0          
88       0     0 ACCEPT     all  --  eth0   *       192.168.1.59         0.0.0.0/0          
89       0     0 ACCEPT     all  --  eth0   *       192.168.46.14        0.0.0.0/0          
90       0     0 ACCEPT     all  --  eth0   *       192.168.1.66         0.0.0.0/0          
91       0     0 ACCEPT     all  --  eth0   *       192.168.111.43       0.0.0.0/0          
92       0     0 ACCEPT     all  --  eth0   *       192.168.109.62       0.0.0.0/0          
93       1    65 ACCEPT     all  --  eth0   *       192.168.1.65         0.0.0.0/0          
94       0     0 ACCEPT     all  --  eth0   *       192.168.46.67        0.0.0.0/0          
95       0     0 ACCEPT     all  --  eth0   *       192.168.109.100      0.0.0.0/0          
96       0     0 ACCEPT     all  --  eth0   *       192.168.48.102       0.0.0.0/0          
97       0     0 ACCEPT     all  --  eth0   *       192.168.44.78        0.0.0.0/0          
98       0     0 ACCEPT     all  --  eth0   *       192.168.111.57       0.0.0.0/0          
99       0     0 ACCEPT     all  --  eth0   *       192.168.4.26         0.0.0.0/0          
100      0     0 ACCEPT     all  --  eth0   *       192.168.1.58         0.0.0.0/0          
101      0     0 ACCEPT     all  --  eth0   *       192.168.101.81       0.0.0.0/0          
102      0     0 ACCEPT     all  --  eth0   *       192.168.201.17       0.0.0.0/0          
103      0     0 ACCEPT     all  --  eth0   *       192.168.46.105       0.0.0.0/0          
104      0     0 ACCEPT     all  --  eth0   *       192.168.113.24       0.0.0.0/0          
105      0     0 ACCEPT     all  --  eth0   *       192.168.1.37         0.0.0.0/0          
106      2    72 ACCEPT     all  --  eth0   *       192.168.44.18        0.0.0.0/0          
107      0     0 ACCEPT     all  --  eth0   *       192.168.101.74       0.0.0.0/0          
108      0     0 ACCEPT     all  --  eth0   *       192.168.44.42        0.0.0.0/0          
109      0     0 ACCEPT     all  --  eth0   *       192.168.113.58       0.0.0.0/0          
110      0     0 ACCEPT     all  --  eth0   *       192.168.2.36         0.0.0.0/0          
111      0     0 ACCEPT     all  --  eth0   *       192.168.44.98        0.0.0.0/0          
112      0     0 ACCEPT     all  --  eth0   *       192.168.44.58        0.0.0.0/0          
113      0     0 ACCEPT     all  --  eth0   *       192.168.1.3          0.0.0.0/0          
114      0     0 ACCEPT     all  --  eth0   *       192.168.101.106      0.0.0.0/0          
115      0     0 ACCEPT     all  --  eth0   *       192.168.44.31        0.0.0.0/0          
116      0     0 ACCEPT     all  --  eth0   *       192.168.6.31         0.0.0.0/0          
117      0     0 ACCEPT     all  --  eth0   *       192.168.1.97         0.0.0.0/0          
118      5   356 ACCEPT     all  --  eth0   *       192.168.46.1         0.0.0.0/0          
119      0     0 ACCEPT     all  --  eth0   *       192.168.101.2        0.0.0.0/0          
120      0     0 ACCEPT     all  --  eth0   *       192.168.113.50       0.0.0.0/0          
121      0     0 ACCEPT     all  --  eth0   *       192.168.44.28        0.0.0.0/0          
122      0     0 ACCEPT     all  --  eth0   *       192.168.111.56       0.0.0.0/0          
123      0     0 ACCEPT     all  --  eth0   *       192.168.113.70       0.0.0.0/0          
124      0     0 ACCEPT     all  --  eth0   *       192.168.113.74       0.0.0.0/0          
125      0     0 ACCEPT     all  --  eth0   *       192.168.109.28       0.0.0.0/0          
126      0     0 ACCEPT     all  --  eth0   *       192.168.113.52       0.0.0.0/0          
127      0     0 ACCEPT     all  --  eth0   *       192.168.109.69       0.0.0.0/0          
128      0     0 ACCEPT     all  --  eth0   *       192.168.44.100       0.0.0.0/0          
129      0     0 ACCEPT     all  --  eth0   *       192.168.1.73         0.0.0.0/0          
130      0     0 ACCEPT     all  --  eth0   *       192.168.111.1        0.0.0.0/0          
131      0     0 DROP       all  --  eth0   *       0.0.0.0/0            0.0.0.0/0          
132     15  3167 INC        all  --  *      *       0.0.0.0/0            0.0.0.0/0          
133     14  2545 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
134      0     0 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0          
135      0     0 ACCEPT     udp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           udp dpt:53
136      0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:53
137      0     0 ACCEPT     udp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           udp dpts:137:139
138      0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpts:137:139
139      0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpts:33434:33600
140      0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpts:44444:44600
141      0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:37
142      0     0 ACCEPT     udp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           udp dpt:37
143      0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:25
144      0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:5222
145      0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:5269
146      0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:5223
147      0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:443
148      0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:5347
149      0     0 ACCEPT     udp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           udp dpt:5347
150      0     0 ACCEPT     udp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           udp dpt:5223
151      0     0 ACCEPT     udp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           udp dpt:443
152      0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:8010
153      0     0 ACCEPT     udp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           udp dpt:8010
154      0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:3306
155      0     0 ACCEPT     udp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           udp dpt:3306
156      0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:22
157      0     0 ACCEPT     tcp  --  *      *       127.0.0.1            0.0.0.0/0           tcp dpt:23
158      0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:110
159      0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:143
160      0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:993
161      0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:995
162      0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:8080
163      0     0 ACCEPT     udp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           udp dpt:6970
164      0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:80
165      0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:443
166      0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:445
167      0     0 LOG        udp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           udp dpt:1200 LOG flags 0 level 4 prefix `CSTRIKE INPUT: '
168      0     0 ACCEPT     udp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           udp dpt:1200
169      0     0 LOG        udp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           udp dpts:27000:27020 LOG flags 0 level 4 prefix `CSTRIKE INPUT: '
170      0     0 ACCEPT     udp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           udp dpts:27000:27020
171      0     0 LOG        tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpts:27030:27039 LOG flags 0 level 4 prefix ` CSTRIKE INPUT: '
172      0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpts:27030:27039
173      0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:21
174      0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpts:61000:64000
175      0     0 ACCEPT     udp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           udp dpt:525
176      0     0 LOG        tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpts:10240:65525 limit: avg 2/min burst 2 LOG flags 0 level 7 prefix `ipfw: local0:'
177      0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpts:10240:65525
178      0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0          

Chain FORWARD (policy ACCEPT 1142 packets, 712K bytes)
num   pkts bytes target     prot opt in     out     source               destination        
1      762 36768 TCPMSS     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:0x06/0x02 TCPMSS clamp to PMTU
2        0     0 LOG        all  --  ppp+   *       100.100.100.0/24     0.0.0.0/0           LOG flags 0 level 4 prefix `PPP_FORWARD: '
3        0     0 ACCEPT     all  --  ppp+   *       100.100.100.0/24     0.0.0.0/0          
4        0     0 LOG        all  --  *      *       0.0.0.0/0            100.100.100.0/24    LOG flags 0 level 4 prefix `PPP_BACK: '
5        0     0 ACCEPT     all  --  *      ppp+    0.0.0.0/0            100.100.100.0/24    state RELATED,ESTABLISHED
6    31192   21M INC        all  --  *      *       0.0.0.0/0            0.0.0.0/0          
7    31189   21M OUC        all  --  *      *       0.0.0.0/0            0.0.0.0/0          
8        0     0 ULOG       all  --  *      *       192.168.111.1        0.0.0.0/0           ULOG copy_range 0 nlgroup 1 queue_threshold 1
9    31185   21M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0          

Chain OUTPUT (policy ACCEPT 47 packets, 6350 bytes)
num   pkts bytes target     prot opt in     out     source               destination        
1        0     0 ACCEPT     udp  --  *      eth0    0.0.0.0/0            255.255.255.255    
2        0     0 LOG        all  --  *      ppp+    0.0.0.0/0            100.100.100.0/24    LOG flags 0 level 4 prefix `PPP_OUTPUT: '
3        0     0 ACCEPT     all  --  *      ppp+    0.0.0.0/0            100.100.100.0/24    
4        0     0 LOG        47   --  *      eth0    0.0.0.0/0            192.168.111.1       LOG flags 0 level 4 prefix `GRE_OUTPUT: '
5        0     0 ACCEPT     47   --  *      eth0    0.0.0.0/0            192.168.111.1      
6        0     0 LOG        tcp  --  *      eth0    0.0.0.0/0            192.168.111.1       tcp spt:1723 LOG flags 0 level 4 prefix `TCP_OUTPUT: '
7        0     0 ACCEPT     tcp  --  *      eth0    0.0.0.0/0            192.168.111.1       tcp spt:1723
8        0     0 LOG        udp  --  *      eth0    0.0.0.0/0            192.168.111.1       udp spt:1723 LOG flags 0 level 4 prefix `UDP_OUTPUT: '
9        0     0 ACCEPT     udp  --  *      eth0    0.0.0.0/0            192.168.111.1       udp spt:1723
10       0     0 ACCEPT     udp  --  *      eth0    0.0.0.0/0            0.0.0.0/0           udp dpt:1200
11       0     0 ACCEPT     udp  --  *      eth0    0.0.0.0/0            0.0.0.0/0           udp dpts:27000:27020
12       0     0 ACCEPT     tcp  --  *      eth0    0.0.0.0/0            0.0.0.0/0           tcp dpts:27030:27039
13       0     0 ACCEPT     all  --  *      lo      0.0.0.0/0            0.0.0.0/0          
14      44  6156 OUC        all  --  *      *       0.0.0.0/0            0.0.0.0/0          

Chain INC (2 references)
num   pkts bytes target     prot opt in     out     source               destination        
1    16833   16M COUNT      all  --  *      *       0.0.0.0/0            192.168.0.0/16      
2        0     0 LOG        all  --  *      *       0.0.0.0/8            0.0.0.0/0           limit: avg 2/min burst 2 LOG flags 0 level 7 prefix `ipfw: bl_net0:'
3        0     0 REJECT     all  --  *      *       0.0.0.0/8            0.0.0.0/0           reject-with icmp-port-unreachable
4        0     0 LOG        all  --  *      *       172.16.0.0/12        0.0.0.0/0           limit: avg 2/min burst 2 LOG flags 0 level 7 prefix `ipfw: bl_net1:'
5        0     0 REJECT     all  --  *      *       172.16.0.0/12        0.0.0.0/0           reject-with icmp-port-unreachable
6        0     0 LOG        all  --  eth0   *      !192.168.0.0/16       0.0.0.0/0           limit: avg 2/min burst 2 LOG flags 0 level 7 prefix `ipfw: bl_inner:'
7        0     0 DROP       all  --  eth0   *      !192.168.0.0/16       0.0.0.0/0          
8        0     0 DROP       all  --  eth1.10 *       192.168.0.0/16       0.0.0.0/0          
9        0     0 LOG        all  --  eth2   *       192.168.0.0/16       0.0.0.0/0           limit: avg 2/min burst 2 LOG flags 0 level 7 prefix `ipfw: bl_outer_2:'
10       0     0 DROP       all  --  eth2   *       192.168.0.0/16       0.0.0.0/0          
11       0     0 DROP       all  --  eth3   *       192.168.0.0/16       0.0.0.0/0          
12       0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:0x3F/0x29
13       0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:0x06/0x06
14       0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:0x03/0x03
15       0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:0x3F/0x01
16       0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:0x3F/0x3F
17       0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:0x3F/0x00
18       0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp option=64
19       0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp option=128
20       3  2661 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp flags:!0x17/0x02 state NEW
21       0     0 LOG        all  -f  *      *       0.0.0.0/0            0.0.0.0/0           limit: avg 2/min burst 2 LOG flags 0 level 7 prefix `ipfw: fragment'
22       0     0 DROP       all  -f  *      *       0.0.0.0/0            0.0.0.0/0          

Chain OUC (2 references)
num   pkts bytes target     prot opt in     out     source               destination        
1        0     0 LOG        all  --  *      eth0    0.0.0.0/0           !192.168.0.0/16      limit: avg 2/min burst 2 LOG flags 0 level 7 prefix `ipfw: bo_e1:'
2        0     0 DROP       all  --  *      eth0    0.0.0.0/0           !192.168.0.0/16      

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от PavelR (??) on 31-Окт-09, 18:04 
...
130      0     0 ACCEPT     all  --  eth0   *       192.168.111.1        0.0.0.0/0          
131      0     0 DROP       all  --  eth0   *       0.0.0.0/0            0.0.0.0/0          
132     15  3167 INC        all  --  *      *       0.0.0.0/0            0.0.0.0/0          

правила до N 130 - пропускают все входящие пакеты к машине-файрволлу , пришедшие по интерфейсу eth0 с определенных адресов.

Все входящие пакеты с интерфейса eth0, которые не были пропущены правилами до 131го, правилом 131 прибиваются (уничтожаются).

Соответственно, в 132 правиле проверяются только пакеты, пришедшие с других интерфейсов( а не eth0)

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от handler2006 email(ok) on 31-Окт-09, 19:37 
и я о том же.
Но эти выводы не решают проблемы.
не могу понять где пакеты теряются.
Что самое интересное, есть несколько адресов, которые tcpdump показывает:
]# tcpdump -ennqti ppp0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ppp0, link-type LINUX_SLL (Linux cooked), capture size 96 bytes
In 192.168.111.1.2576 > 62.182.87.73.80: tcp 0
In 192.168.111.1.2577 > 95.165.56.35.80: tcp 0
In 192.168.111.1.2578 > 78.159.55.87.80: tcp 0
In 192.168.111.1.2579 > 91.194.116.25.80: tcp 0
In 192.168.111.1.2575 > 195.66.65.162.80: tcp 0
In 192.168.111.1.2580 > 213.231.32.97.80: tcp 0
In 192.168.111.1.2581 > 93.72.208.144.80: tcp 0
In 100.100.100.10.2590 > 239.255.255.250.1900: UDP, length 133
In 100.100.100.10.137 > 255.255.255.255.137: UDP, length 68
In 100.100.100.10.137 > 255.255.255.255.137: UDP, length 68
In 100.100.100.10.137 > 255.255.255.255.137: UDP, length 68
In 100.100.100.10.137 > 255.255.255.255.137: UDP, length 68
In 100.100.100.10.2590 > 239.255.255.250.1900: UDP, length 133
In 100.100.100.10.2590 > 239.255.255.250.1900: UDP, length 133
In 100.100.100.10.2592 > 193.19.144.144.443: tcp 0
In 100.100.100.10.2593 > 95.165.108.61.443: tcp 0
In 100.100.100.10.2594 > 195.128.253.239.443: tcp 0
In 100.100.100.10.2595 > 195.177.74.94.59358: tcp 0
In 100.100.100.10.2596 > 83.237.106.30.47941: tcp 0
In 100.100.100.10.2597 > 118.171.123.161.57458: tcp 0
In 100.100.100.10.2598 > 92.127.114.213.48214: tcp 0
Out 193.19.144.144.443 > 100.100.100.10.2592: tcp 0
In 100.100.100.10.2592 > 193.19.144.144.443: tcp 0
In 100.100.100.10.2592 > 193.19.144.144.443: tcp 72
Out 83.237.106.30.47941 > 100.100.100.10.2596: tcp 0
In 100.100.100.10.2596 > 83.237.106.30.47941: tcp 0
In 100.100.100.10.2596 > 83.237.106.30.47941: tcp 56
Out 193.19.144.144.443 > 100.100.100.10.2592: tcp 79
In 100.100.100.10.2592 > 193.19.144.144.443: tcp 30
Out 83.237.106.30.47941 > 100.100.100.10.2596: tcp 86
In 100.100.100.10.2596 > 83.237.106.30.47941: tcp 8
Out 83.237.106.30.47941 > 100.100.100.10.2596: tcp 8
In 100.100.100.10.2596 > 83.237.106.30.47941: tcp 51
Out 83.237.106.30.47941 > 100.100.100.10.2596: tcp 37
In 100.100.100.10.2596 > 83.237.106.30.47941: tcp 3
Out 193.19.144.144.443 > 100.100.100.10.2592: tcp 45
In 100.100.100.10.2592 > 193.19.144.144.443: tcp 3
Out 83.237.106.30.47941 > 100.100.100.10.2596: tcp 0
In 100.100.100.10.2596 > 83.237.106.30.47941: tcp 27
In 100.100.100.10.137 > 255.255.255.255.137: UDP, length 68
Out 83.237.106.30.47941 > 100.100.100.10.2596: tcp 75
In 100.100.100.10.2596 > 83.237.106.30.47941: tcp 4
In 100.100.100.10.2599 > 95.165.108.61.35666: tcp 0
In 100.100.100.10.2600 > 195.128.253.239.54335: tcp 0
In 100.100.100.10.2601 > 195.177.74.94.443: tcp 0
In 100.100.100.10.2602 > 118.171.123.161.443: tcp 0
In 100.100.100.10.2603 > 92.127.114.213.443: tcp 0
Out 193.19.144.144.443 > 100.100.100.10.2592: tcp 0
In 100.100.100.10.2592 > 193.19.144.144.443: tcp 27
Out 83.237.106.30.47941 > 100.100.100.10.2596: tcp 0
In 100.100.100.10.2592 > 193.19.144.144.443: tcp 0
In 100.100.100.10.2596 > 83.237.106.30.47941: tcp 4
In 100.100.100.10.62123 > 78.154.129.209.37183: UDP, length 41
In 100.100.100.10.62123 > 190.35.16.57.58088: UDP, length 41
In 100.100.100.10.62123 > 125.200.42.230.9396: UDP, length 41
In 100.100.100.10.62123 > 81.191.187.6.30362: UDP, length 22
In 100.100.100.10.62123 > 174.88.135.12.41757: UDP, length 22
In 100.100.100.10.62123 > 65.175.161.116.59253: UDP, length 445
In 100.100.100.10.62123 > 218.253.92.49.61879: UDP, length 445
In 100.100.100.10.62123 > 68.230.160.9.31327: UDP, length 445
In 100.100.100.10.62123 > 43.244.84.120.43614: UDP, length 445
In 100.100.100.10.62123 > 125.200.42.230.9396: UDP, length 445
In 100.100.100.10.62123 > 190.35.16.57.58088: UDP, length 445
In 100.100.100.10.62123 > 78.154.129.209.37183: UDP, length 445
In 100.100.100.10.62123 > 145.97.208.237.3763: UDP, length 445
In 100.100.100.10.62123 > 202.179.235.141.57199: UDP, length 445
In 100.100.100.10.62123 > 201.242.132.59.27400: UDP, length 445
In 100.100.100.10.62123 > 173.31.43.227.12756: UDP, length 445
In 100.100.100.10.62123 > 115.43.164.161.33425: UDP, length 445
In 100.100.100.10.62123 > 190.198.190.14.53818: UDP, length 445
In 100.100.100.10.62123 > 72.192.8.184.55023: UDP, length 445
In 100.100.100.10.62123 > 114.36.33.91.7361: UDP, length 445
In 100.100.100.10.62123 > 88.161.235.87.42352: UDP, length 445
In 100.100.100.10.62123 > 67.248.211.170.57298: UDP, length 445
In 100.100.100.10.62123 > 71.131.2.117.7387: UDP, length 445
In 100.100.100.10.62123 > 114.42.56.144.7361: UDP, length 445
In 100.100.100.10.62123 > 140.109.175.181.53426: UDP, length 445
In 100.100.100.10.62123 > 84.10.90.228.56745: UDP, length 445
In 100.100.100.10.62123 > 68.40.164.254.57017: UDP, length 445
In 100.100.100.10.62123 > 67.166.209.228.56159: UDP, length 445
In 100.100.100.10.62123 > 93.152.181.214.43596: UDP, length 445
Out 68.230.160.9.31327 > 100.100.100.10.62123: UDP, length 11
Out 173.31.43.227.12756 > 100.100.100.10.62123: UDP, length 11
In 100.100.100.10.137 > 255.255.255.255.137: UDP, length 68
Out 83.237.106.30.47941 > 100.100.100.10.2596: tcp 0
In 100.100.100.10.2596 > 83.237.106.30.47941: tcp 591
Out 193.19.144.144.443 > 100.100.100.10.2592: tcp 0
Out 193.19.144.144.443 > 100.100.100.10.2592: tcp 0
In 100.100.100.10.2592 > 193.19.144.144.443: tcp 0
Out 174.88.135.12.41757 > 100.100.100.10.62123: UDP, length 1355
Out 83.237.106.30.47941 > 100.100.100.10.2596: tcp 12
Out 174.88.135.12.41757 > 100.100.100.10.62123: UDP, length 1355
Out 174.88.135.12.41757 > 100.100.100.10.62123: UDP, length 1355
Out 174.88.135.12.41757 > 100.100.100.10.62123: UDP, length 410
In 100.100.100.10.62123 > 174.21.188.124.10702: UDP, length 18
In 100.100.100.10.62123 > 89.218.68.29.19539: UDP, length 18
In 100.100.100.10.62123 > 174.70.117.57.8296: UDP, length 18
In 100.100.100.10.62123 > 174.71.98.155.11478: UDP, length 18
In 100.100.100.10.2596 > 83.237.106.30.47941: tcp 0
In 100.100.100.10.2593 > 95.165.108.61.443: tcp 0
In 100.100.100.10.2594 > 195.128.253.239.443: tcp 0
In 100.100.100.10.2595 > 195.177.74.94.59358: tcp 0
In 100.100.100.10.2597 > 118.171.123.161.57458: tcp 0
In 100.100.100.10.2598 > 92.127.114.213.48214: tcp 0
In 100.100.100.10.137 > 255.255.255.255.137: UDP, length 68
In 100.100.100.10.2609 > 195.128.253.239.80: tcp 0
In 100.100.100.10.2610 > 95.165.108.61.80: tcp 0
In 100.100.100.10.2611 > 195.177.74.94.80: tcp 0
In 100.100.100.10.2612 > 118.171.123.161.80: tcp 0
In 100.100.100.10.2613 > 92.127.114.213.80: tcp 0
In 100.100.100.10.137 > 255.255.255.255.137: UDP, length 68
In 100.100.100.10.62123 > 78.154.129.209.37183: UDP, length 41
In 100.100.100.10.62123 > 190.35.16.57.58088: UDP, length 41
In 100.100.100.10.62123 > 125.200.42.230.9396: UDP, length 41
In 100.100.100.10.62123 > 81.191.187.6.30362: UDP, length 22
In 100.100.100.10.62123 > 65.175.161.116.59253: UDP, length 445
In 100.100.100.10.62123 > 218.253.92.49.61879: UDP, length 445
In 100.100.100.10.62123 > 43.244.84.120.43614: UDP, length 445
In 100.100.100.10.62123 > 125.200.42.230.9396: UDP, length 445
In 100.100.100.10.62123 > 190.35.16.57.58088: UDP, length 445
In 100.100.100.10.62123 > 78.154.129.209.37183: UDP, length 445
In 100.100.100.10.62123 > 145.97.208.237.3763: UDP, length 445
In 100.100.100.10.62123 > 202.179.235.141.57199: UDP, length 445
In 100.100.100.10.62123 > 201.242.132.59.27400: UDP, length 445
In 100.100.100.10.62123 > 115.43.164.161.33425: UDP, length 445
In 100.100.100.10.62123 > 190.198.190.14.53818: UDP, length 445
In 100.100.100.10.62123 > 72.192.8.184.55023: UDP, length 445
In 100.100.100.10.62123 > 114.36.33.91.7361: UDP, length 445
In 100.100.100.10.62123 > 88.161.235.87.42352: UDP, length 445
In 100.100.100.10.62123 > 67.248.211.170.57298: UDP, length 445
In 100.100.100.10.62123 > 71.131.2.117.7387: UDP, length 445
In 100.100.100.10.62123 > 114.42.56.144.7361: UDP, length 445
In 100.100.100.10.62123 > 140.109.175.181.53426: UDP, length 445
In 100.100.100.10.62123 > 84.10.90.228.56745: UDP, length 445
In 100.100.100.10.62123 > 68.40.164.254.57017: UDP, length 445
In 100.100.100.10.62123 > 67.166.209.228.56159: UDP, length 445
In 100.100.100.10.62123 > 93.152.181.214.43596: UDP, length 445
In 100.100.100.10.2599 > 95.165.108.61.35666: tcp 0
In 100.100.100.10.2600 > 195.128.253.239.54335: tcp 0
In 100.100.100.10.2601 > 195.177.74.94.443: tcp 0
In 100.100.100.10.2602 > 118.171.123.161.443: tcp 0
In 100.100.100.10.2603 > 92.127.114.213.443: tcp 0
In 100.100.100.10.2596 > 83.237.106.30.47941: tcp 3
Out 83.237.106.30.47941 > 100.100.100.10.2596: tcp 0
In 100.100.100.10.2596 > 83.237.106.30.47941: tcp 31
Out 83.237.106.30.47941 > 100.100.100.10.2596: tcp 4
In 100.100.100.10.2596 > 83.237.106.30.47941: tcp 0
In 100.100.100.10.2609 > 195.128.253.239.80: tcp 0
In 100.100.100.10.2610 > 95.165.108.61.80: tcp 0
In 100.100.100.10.2611 > 195.177.74.94.80: tcp 0
In 100.100.100.10.2612 > 118.171.123.161.80: tcp 0
In 100.100.100.10.2613 > 92.127.114.213.80: tcp 0
In 100.100.100.10.62123 > 174.21.188.124.10702: UDP, length 18
In 100.100.100.10.62123 > 89.218.68.29.19539: UDP, length 18
In 100.100.100.10.62123 > 190.247.141.44.443: UDP, length 18
In 100.100.100.10.62123 > 67.183.233.80.443: UDP, length 18
Out 67.183.233.80.443 > 100.100.100.10.62123: UDP, length 26
In 100.100.100.10.62123 > 78.154.129.209.37183: UDP, length 41
In 100.100.100.10.62123 > 190.35.16.57.58088: UDP, length 41
In 100.100.100.10.62123 > 125.200.42.230.9396: UDP, length 41
In 100.100.100.10.62123 > 81.191.187.6.30362: UDP, length 22
In 100.100.100.10.62123 > 65.175.161.116.59253: UDP, length 445
In 100.100.100.10.62123 > 218.253.92.49.61879: UDP, length 445
In 100.100.100.10.62123 > 43.244.84.120.43614: UDP, length 445
In 100.100.100.10.62123 > 125.200.42.230.9396: UDP, length 445
In 100.100.100.10.62123 > 190.35.16.57.58088: UDP, length 445
In 100.100.100.10.62123 > 78.154.129.209.37183: UDP, length 445
In 100.100.100.10.62123 > 145.97.208.237.3763: UDP, length 445
In 100.100.100.10.62123 > 202.179.235.141.57199: UDP, length 445
In 100.100.100.10.62123 > 201.242.132.59.27400: UDP, length 445
In 100.100.100.10.62123 > 115.43.164.161.33425: UDP, length 445
In 100.100.100.10.62123 > 190.198.190.14.53818: UDP, length 445
In 100.100.100.10.62123 > 72.192.8.184.55023: UDP, length 445
In 100.100.100.10.62123 > 114.36.33.91.7361: UDP, length 445
In 100.100.100.10.62123 > 88.161.235.87.42352: UDP, length 445
In 100.100.100.10.62123 > 67.248.211.170.57298: UDP, length 445
In 100.100.100.10.62123 > 71.131.2.117.7387: UDP, length 445
In 100.100.100.10.62123 > 114.42.56.144.7361: UDP, length 445
In 100.100.100.10.62123 > 140.109.175.181.53426: UDP, length 445
In 100.100.100.10.62123 > 84.10.90.228.56745: UDP, length 445
In 100.100.100.10.62123 > 68.40.164.254.57017: UDP, length 445
In 100.100.100.10.62123 > 67.166.209.228.56159: UDP, length 445
In 100.100.100.10.62123 > 93.152.181.214.43596: UDP, length 445
In 100.100.100.10.2593 > 95.165.108.61.443: tcp 0
In 100.100.100.10.2594 > 195.128.253.239.443: tcp 0
In 100.100.100.10.2595 > 195.177.74.94.59358: tcp 0
In 100.100.100.10.2597 > 118.171.123.161.57458: tcp 0
In 100.100.100.10.2598 > 92.127.114.213.48214: tcp 0
In 100.100.100.10.2599 > 95.165.108.61.35666: tcp 0
In 100.100.100.10.2600 > 195.128.253.239.54335: tcp 0
In 100.100.100.10.2601 > 195.177.74.94.443: tcp 0
In 100.100.100.10.2602 > 118.171.123.161.443: tcp 0
In 100.100.100.10.2603 > 92.127.114.213.443: tcp 0
In 100.100.100.10.62123 > 67.183.233.80.31611: UDP, length 41
In 100.100.100.10.62123 > 75.54.127.49.15974: UDP, length 41
In 100.100.100.10.62123 > 114.42.56.144.7361: UDP, length 41
In 100.100.100.10.2609 > 195.128.253.239.80: tcp 0
In 100.100.100.10.2610 > 95.165.108.61.80: tcp 0
In 100.100.100.10.2611 > 195.177.74.94.80: tcp 0
In 100.100.100.10.2612 > 118.171.123.161.80: tcp 0
In 100.100.100.10.2613 > 92.127.114.213.80: tcp 0
Out 67.183.233.80.31611 > 100.100.100.10.62123: UDP, length 19
In 100.100.100.10.62123 > 99.252.92.154.35043: UDP, length 41
In 100.100.100.10.62123 > 174.21.188.124.10702: UDP, length 18
In 100.100.100.10.62123 > 89.218.68.29.19539: UDP, length 18
In 100.100.100.10.137 > 255.255.255.255.137: UDP, length 68

Это в самом начале после установления туннеля; видно, что некоторые адреса в интернет все же доступны клиенту ррр, возможно это сервисы майкрософт.
Какие еще будут соображения?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от PavelR (??) on 31-Окт-09, 20:07 
>[оверквотинг удален]
>не могу понять где пакеты теряются.
>Что самое интересное, есть несколько адресов, которые tcpdump показывает:
>]# tcpdump -ennqti ppp0
>tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
>
>listening on ppp0, link-type LINUX_SLL (Linux cooked), capture size 96 bytes
>
>Это в самом начале после установления туннеля; видно, что некоторые адреса в
>интернет все же доступны клиенту ррр, возможно это сервисы майкрософт.
>Какие еще будут соображения?

соображение одно - вы так сами и не понимаете, чего у вас не работает.

с терминологией - тускло. "теряются" != "фильтруются"/"отсекаются".

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от handler2006 email(ok) on 31-Окт-09, 20:19 
Ах, если бы я понимал, что происходит - все было бы намного проще.
Конечно я запутался во всем этом.
Я вставил правила для туннелей в начала каждой из цепочек INPUT , OUTPUT, FORWARD, т. е.  они не отбрасываются, но желаемого результата я не получил
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от PavelR (??) on 31-Окт-09, 20:28 
>Ах, если бы я понимал, что происходит - все было бы намного
>проще.
>Конечно я запутался во всем этом.
>Я вставил правила для туннелей в начала каждой из цепочек INPUT ,
>OUTPUT, FORWARD, т. е.  они не отбрасываются, но желаемого результата
>я не получил

так может быть для начала понять, как пакеты ходят по цепочкам и в каких случаях куда попадают ?

если не понятно, как работает файрволл - так может быть сделать его полностью открытым, а затем постепенно закрывать, контролируя каждое действие ?

лично мне из нашего обсуждения сильно непонятно, где производится трансляция адресов (SNAT)  Может быть в этом дело ?

----

Вам влом прочитать документацию - предлагаете возиться и выпытывать инфу о настройках и схеме ? Кто-то же эти пять модемов подключал... может быть к ним обратиться ?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

11. "vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от handler2006 email(ok) on 31-Окт-09, 20:34 
система рабочая - ничего открывать/закрывать нельзя.
SNAT:
iptables -t nat -A POSTROUTING -m mark --mark 10 -j SNAT --to-source 10.10.10.10
iptables -t nat -A POSTROUTING -m mark --mark 20 -j SNAT --to-source 10.10.20.10
iptables -t nat -A POSTROUTING -m mark --mark 30 -j SNAT --to-source 10.10.30.10
iptables -t nat -A POSTROUTING -m mark --mark 40 -j SNAT --to-source 10.10.40.10
iptables -t nat -A POSTROUTING -m mark --mark 50 -j SNAT --to-source 10.10.50.10
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

12. "vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от PavelR (??) on 01-Ноя-09, 09:08 

Цитата 1

>система рабочая - ничего открывать/закрывать нельзя.

Цитата 2

>адреса eth1-eth4 и адреса в интернет НЕ пингуются.

Что-то не похоже, что система рабочая :-)


>[оверквотинг удален]
>iptables -t nat -A POSTROUTING -m mark --mark 10 -j SNAT --to-source
>10.10.10.10
>iptables -t nat -A POSTROUTING -m mark --mark 20 -j SNAT --to-source
>10.10.20.10
>iptables -t nat -A POSTROUTING -m mark --mark 30 -j SNAT --to-source
>10.10.30.10
>iptables -t nat -A POSTROUTING -m mark --mark 40 -j SNAT --to-source
>10.10.40.10
>iptables -t nat -A POSTROUTING -m mark --mark 50 -j SNAT --to-source
>10.10.50.10

Короче, мое IMHO говорит мне, что всё у вас там криво, и необдуманно.
Поэтому рекомендую переобдумать всё и сделать с нуля.

Например, я просто устал уже _просить_ показать правила маркировки пакетов...
Видимо, вы о них совсем ничего не знаете...  Может быть вам почитать lartc  ?
Ну или хотя - бы man iptables.

(Просто для проверки, ответьте на вопрос - какие таблицы существуют в iptables? )

----

Также, например,вышестоящий кусок правил я бы сделал так:

iptables -t nat -A POSTROUTING -o eth1.10 -j SNAT --to-source 10.10.10.10
iptables -t nat -A POSTROUTING -o eth2 -j SNAT --to-source 10.10.20.10
iptables -t nat -A POSTROUTING -o eth3 -j SNAT --to-source 10.10.30.10
iptables -t nat -A POSTROUTING -o eth4 -j SNAT --to-source 10.10.40.10
iptables -t nat -A POSTROUTING -o eth1.50 -j SNAT --to-source 10.10.50.10

Объясняю почему:

1. Вы так и не показали правила маркировки пакетов.
2. Решение о маршрутизации пакета уже принято, соответственно проверять его маркер не надо - достаточно проверить исходящий интерфейс.  Извраты с различным SNAT в зависимости от маркера потребуются, если все модемы повесить на один физический интерфейс, но при этом все модемы разделить по разным IP-подсетям. (Если все модемы на одном физ интерфейсе и в одной IP-подсети, то тогда SNAT будет в один адрес, собственно правило будет одно)

Соответственно, изменив правила маршрутизации (введя например новый флажок) - требуется изменение только ip ru, а iptables уже трогать не надо.


3. Вы так и не привели схему своей сети. Существует мнение, что трансляция адресов у вас идет дважды - на рутере и на модемах ;-)  Предполагается, что вы об этом даже и не задумываетесь.

Решений два - правильное и неправильное :-)

3.1. - вырубить на линухе нат, на модемах настроить маршрутизацию к подсетям.
  (+) - убираем двойную трансляцию
  (-) - модем может не уметь требуемую маршрутизацию
  (-) - транслировать локалку на модемах - как-то неправильно ;-)

3.2. - вырубить на модемах рутинг и нат. Т.е. настроить бриджинг. В случае необходимости, подымать PPPoE непосредственно на linux-box.
  (+) - линух-бокс более производителен для операций трансляции пакетов
  (+) - убираем двойную трансляцию
  (-) - требуется чтение документации - настройка pppoe-клиентов и написание правильных скриптов

А, да. Решение 3.3.

3.3. - забить на двойную трансляцию адресов
  (+) - ничего особенно не надо менять
  (-) - надо решить текущую проблему - но "система рабочая - ничего открывать/закрывать нельзя".


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

13. "vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от handler2006 email(ok) on 01-Ноя-09, 09:21 
Вы полагаете, что лучше второй вариант?
Допустим, я настрою бриджинг, это не проблема.
Следовательно у меня появятся 5 ррр-каналов:
ррр0 - адсл1 - eth1.10 (VLAN)
ррр1 - адсл2 - eth2
ррр2 - адсл3 - eth3
ррр3 - адсл4 - eth4
ppp4 - адсл5 - eth1.50 (VLAN)

Далее мне все равно надо будет маркировать пакеты, приходящие с eth0 (ppp*), чтобы натить их в ppp0 - ppp4
На данный момент схема маркировки пакетов проста и не замысловата:
Объявлены группы адресов: gate1_ip, gate2_ip, gate3_ip, gate4_ip, gate5_ip
# mark packages to separate output path
for i in $gate1_ip ; do
  $FW -t mangle -A PREROUTING -s "$i" -d ! $NET_LOCAL  -j MARK --set-mark 10
done

for i in $gate2_ip ; do
  $FW -t mangle -A PREROUTING -s "$i" -d ! $NET_LOCAL  -j MARK --set-mark 20
done

for i in $gate3_ip ; do
  $FW -t mangle -A PREROUTING -s "$i" -d ! $NET_LOCAL  -j MARK --set-mark 30
done

for i in $gate4_ip ; do
  $FW -t mangle -A PREROUTING -s "$i" -d ! $NET_LOCAL  -j MARK --set-mark 40
done

for i in $gate5_ip ; do
  $FW -t mangle -A PREROUTING -s "$i" -d ! $NET_LOCAL  -j MARK --set-mark 50
done

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

14. "vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от PavelR (??) on 01-Ноя-09, 10:05 
>Вы полагаете, что лучше второй вариант?

Работает - не трогай ;-)

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

В любом случае, проблема "отсутствия интернета" (или какая там у вас проблема) - не в двойном нате, а в файрволлинге-маршрутизации на линукс-боксе.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

15. "vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от handler2006 email(ok) on 01-Ноя-09, 10:21 
Нет - Вы правильно заметили, все надо переделать.
Я хочу перевести всех пользователей постепенно сос статической адресации на впн-туннели.
Так у меня отпадет проблема незаконных подключений и в фаерволе упразднятся правила с адресами клиентов, останутся только ррр+.
Далее я хочу динамически роутить клиентов на разные модемы, в зависимости от нагрузки.
Гипотетически это выглядит так:
принимаем все пакеты, приходящие с ррр+ в цепочках INPUT, OUTPUT, FORWARD;
-t nat POSTROUTING... -j SNAT --to-source "здесь динамически выбранный адрес"
Думаю, можно оботись без маркировки, только правила SNAT надо будет поместитстартовый скрипт впн-туннеля: когда клиент установил соединение, его адрес натим по выбранному маршруту; после разрыва соединения удаляем правила, связанные с этим адресом.
Если мы настроим 5 модемов в режиме мост, то названия интерфейсов и для модемов и для клиентов будут ррр0-4 (модемы) и ррр5-N (клиенты)? Ничего, что они на разных интерфейсах?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

16. "vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от PavelR (??) on 01-Ноя-09, 10:33 
>Нет - Вы правильно заметили, все надо переделать.
>Я хочу перевести всех пользователей постепенно сос статической адресации на впн-туннели.
>Так у меня отпадет проблема незаконных подключений и в фаерволе упразднятся правила
>с адресами клиентов, останутся только ррр+.

Эта идея, собственно, ясна. Лучше, конечно свичи с привязкой использовать, но...

>Далее я хочу динамически роутить клиентов на разные модемы, в зависимости от
>нагрузки.

Это тоже понятно. Хотя,наверное "от нагрузки", не получится - просто делить на группы, но в общем-то не суть важно - хотя может быть неприятно, если сессия пользователя будет плавать по адресам.

>Гипотетически это выглядит так:
>принимаем все пакеты, приходящие с ррр+ в цепочках INPUT, OUTPUT, FORWARD;
>-t nat POSTROUTING... -j SNAT --to-source "здесь динамически выбранный адрес"

зачем вам INPUT/OUTPUT ? на маршрутизаторе будете крутить дополнительные сервисы ?
Зачем файрволить INPUT если там закрывать нечего?

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

>Думаю, можно оботись без маркировки, только правила SNAT надо будет поместитстартовый скрипт
>впн-туннеля: когда клиент установил соединение, его адрес натим по выбранному маршруту;
>после разрыва соединения удаляем правила, связанные с этим адресом.

Рекомендую подумать и понять, почему это неправильно/нереально.
Кроме того, ладно уж, показываю кривизну:

1. "только правила SNAT надо будет поместитстартовый скрипт впн-туннеля"
2. "его адрес натим по выбранному маршруту"

Это линукс, а не FreeBSD. Сначала маршрутизируем, потом натим.
Соответственно, правила SNAT в стартовом скрипте впн-туннеля ни к чему.
Без маркировки - не обойтись. Точнее, обойтись прямым вбиванием правил "ip ru from XXX lookup RT_Y".


>Если мы настроим 5 модемов в режиме мост, то названия интерфейсов и
>для модемов и для клиентов будут ррр0-4 (модемы) и ррр5-N (клиенты)?
>Ничего, что они на разных интерфейсах?

абсолютно нормально. ядру пофигу на названия интерфейсов. ( !! файрволлу - не пофиг.)
Нужно только учесть, что pppoe может отвалиться, а в это время подключится новый клиент и займет ppp0, к примеру... это определенные грабли.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

17. "vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от handler2006 email(ok) on 01-Ноя-09, 10:42 
>зачем вам INPUT/OUTPUT ? на маршрутизаторе будете крутить дополнительные сервисы ?
>Зачем файрволить INPUT если там закрывать нечего?
>

Самба, апач, джаббер, игровые сервера.

>Это линукс, а не FreeBSD. Сначала маршрутизируем, потом натим.
>Соответственно, правила SNAT в стартовом скрипте впн-туннеля ни к чему.
>Без маркировки - не обойтись. Точнее, обойтись прямым вбиванием правил "ip ru
>from XXX lookup RT_Y".

Я думал, мы опишем 5 таблиц маршрутизации для пяти линков, в конце добавим
ip route add default scope global nexthop via ppp0 nexthop via...
и всею А потом просто SNAT --to-source ppp0 и т. д.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

18. "vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от handler2006 email(ok) on 01-Ноя-09, 10:43 
Да, совсем забыл: Спасибо Вам за Вашу терпимость и за подсказки!
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

19. "vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от handler2006 email(ok) on 03-Ноя-09, 19:31 
Логи iptables показали, что впн-поключение роутится на все 5 каналов: видимо, срабатывает правило балансировки каналов, взятых отсюда: http://lartc.org/howto/lartc.rpdb.multiple-links.html (маршруты описаны по этой статье), а т. к. для наших ррр-туннелей мы маршруты не назначали, они и ходят по всем доступным маршрутам, т. е. теоретически, открыв 5 сессий на ррр-клиенте, мы используем все 5 внешних каналов.
До сих пор мы опысывали правила iptables таблицы nat для одного маршрута:
iptables -t nat -A POSTROUTING -s $PPP_NET -o $IF_EXT1 -j SNAT --to-source $IP_EXT1
И это правило не срабатывало, но после добавления правил для остальных 4 линков все заработало.
Возникает вопрос: при количестве ррр-туннелей ~100 не будут ли они блокировать друг друга (для каждого туннеля будет ограничена скорость)? Может, стоит явно указать маршрут только на один внешний интерфейс:
ip rule add dev ppp0 table T1
тогда для каждого вновь создаваемого туннеля придется добавлять таблицу и затем удалять ее.
Сейчас правила маршрутов выглядят так:
ip rule add fwmark 10 table T1
что задает конкретный маршрут для пакетов, а у нас не маркировка а интерфейс в качестве аргумента.
Как его правильно описать (что-то вроде "все пакеты, пришедшие с ppp0 отправлять в таблицу Т1")?
Да, вот еще:
100.100.100.1/24 - pptp-server's IP
100.100.100.10/24 - pptp-client's IP
Почему маршрут по-умолчанию клиента (WinXP) - 100.100.100.10/24
При чем все работает.
Я думал, pptp-server должен передавать клиенту адрес маршрута, так же, как и днс-адреса, или, как минимум, маршрут по-умолчанию должен указывать на удаленный Р-Т-Р?
И еще один момент:
на клиенте работает радио, в логах видим текущий маршрут; по прошествии 5-10 мин. радио замолкает, в логах текущий маршрут пропадает, а вместо него появляется новый на другой интерфейс и радио опять начинает работать.
Что заставляет систему менять маршрут для текущей сессии?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

20. "vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от ALex_hha (ok) on 03-Ноя-09, 19:59 
>Я думал, pptp-server должен передавать клиенту адрес маршрута, так же, как и
>днс-адреса, или, как минимум, маршрут по-умолчанию должен указывать на удаленный Р-Т-Р?

если не ошибаюсь, то на виндовых клиентах должна быть включена галочка - "Использовать основной шлюз в удаленной сети"

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

21. "vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от handler2006 email(ok) on 03-Ноя-09, 20:48 
>
>если не ошибаюсь, то на виндовых клиентах должна быть включена галочка -
>"Использовать основной шлюз в удаленной сети"

А на линуксах?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

23. "vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от PavelR (??) on 03-Ноя-09, 22:38 
>>
>>если не ошибаюсь, то на виндовых клиентах должна быть включена галочка -
>>"Использовать основной шлюз в удаленной сети"
>
>А на линуксах?

а на линуксах есть опция соответствующая. В мане описано всё... )

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

22. "vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от PavelR (??) on 03-Ноя-09, 22:37 
>Логи iptables показали, что впн-поключение роутится на все 5 каналов: видимо, срабатывает
>правило балансировки каналов, взятых отсюда: http://lartc.org/howto/lartc.rpdb.multiple-links.html (маршруты описаны по этой статье),

о боги...
Вы бы хоть поняли чего делаете, а потом уже делали...

>а т. к. для наших ррр-туннелей мы маршруты не назначали, они
>и ходят по всем доступным маршрутам, т. е. теоретически, открыв 5
>сессий на ррр-клиенте, мы используем все 5 внешних каналов.
>До сих пор мы опысывали правила iptables таблицы nat для одного маршрута:
>
>iptables -t nat -A POSTROUTING -s $PPP_NET -o $IF_EXT1 -j SNAT --to-source
>$IP_EXT1

давайте разделим понятия "интерфейс" и "маршрут"

>И это правило не срабатывало, но после добавления правил для остальных 4
>линков все заработало.

А что, должно было быть иначе ?

>Возникает вопрос: при количестве ррр-туннелей ~100 не будут ли они блокировать друг
>друга (для каждого туннеля будет ограничена скорость)? Может, стоит явно указать
>маршрут только на один внешний интерфейс:
>ip rule add dev ppp0 table T1

ip ru - это не маршрут. Это правило выбора таблицы маршрутизации, в которой будет выбран маршрут.

>тогда для каждого вновь создаваемого туннеля придется добавлять таблицу и затем удалять
>ее.

Опять же, непонятные формулировки поперли: "вновь создаваемый туннель" я надеюсь, не подразумевается "вновь подключившийся клиент"?

Таблицы удалять не надо. А вот записи в таблицах маршрутизации, возможно придется корректировать при поднятии соединения к провайдеру. Делается элементарно.


>Сейчас правила маршрутов выглядят так:
>ip rule add fwmark 10 table T1
>что задает конкретный маршрут для пакетов, а у нас не маркировка а
>интерфейс в качестве аргумента.

Меняйте терминологию, с ней явные проблемы. Кроме того, я уже говорил, что маркировать - надо.

>Как его правильно описать (что-то вроде "все пакеты, пришедшие с ppp0 отправлять
>в таблицу Т1")?

Если я правильно помню, то ppp0 - это соединение к провайдеру. Соответственно, пришедшие по нему пакеты должны будут разтранслироваться и пойти к подключившимся к нам клиентам.
Это должно произойти "на общих основаниях", без маркеров, правил и т д.

>Да, вот еще:
>100.100.100.1/24 - pptp-server's IP
>100.100.100.10/24 - pptp-client's IP
>Почему маршрут по-умолчанию клиента (WinXP) - 100.100.100.10/24
>При чем все работает.
>Я думал, pptp-server должен передавать клиенту адрес маршрута, так же, как и
>днс-адреса, или, как минимум, маршрут по-умолчанию должен указывать на удаленный Р-Т-Р?

это point-to-point. главное направить пакеты в интерфейс, и он точно вылезет там где надо - на удаленной стороне туннеля.

>
>И еще один момент:
>на клиенте работает радио, в логах видим текущий маршрут; по прошествии 5-10
>мин. радио замолкает, в логах текущий маршрут пропадает, а вместо него
>появляется новый на другой интерфейс и радио опять начинает работать.
>Что заставляет систему менять маршрут для текущей сессии?

А что должно заставлять сохранять маршрут ? понятия "сессии" для IP протокола не существует. Я уже говорил, что для того чтобы сделать балансировку, нужно либо группировать клиентов и назначать внешний канал применительно к группе, либо, если сильно хочется разложить грабли - назначать на каждое TCP-соединение connmark "случайным образом". В любом случае, повторю, поскольку мое замечание было тупо проигнорировано, вы раскладываете грабли - пользователь серфит по сайту, на котором есть привязка сессии к IP. Вы случайным образом каждому исходящему соединению назначаете 1 из 5 адресов. Что будет дальше - рассказывать или сами додумаете ?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

24. "vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от handler2006 email(ok) on 04-Ноя-09, 00:17 
>
>о боги...
>Вы бы хоть поняли чего делаете, а потом уже делали...
>

А что там понимать?
Описывано 5 таблиц маршрутизации согласно статьи, добавлено правило:
ip route add default scope global nexthop via $IP_GW1 dev $IF_GW1...(для всех пяти внешних линков к провайдерам).
В этой строчке заключается балансировка.
>
>А что, должно было быть иначе ?
>

Дело в том, что сейчас у меня клиенты разделены условно на пять групп, и, кроме правил iptables, существуют правила роутинга, жестко определяющие маршрут для каждой группы:

ip rule add fwmark 10 table T1 (для 1 группы)
ip rule add fwmark 20 table T2 (для 2 группы)
и т. д.
А для ррр-туннелей правил роутинга не написано, вот и применяется к ним предыдущее правило выбора маршрута (я так думаю).

>
>Опять же, непонятные формулировки поперли: "вновь создаваемый туннель" я надеюсь, не подразумевается
>"вновь подключившийся клиент"?
>

Дело в том, что ррр-туннель это и есть подключившийся клиент.

>
>Меняйте терминологию, с ней явные проблемы. Кроме того, я уже говорил, что
>маркировать - надо.
>

Если мы будем маркировать пакеты одной из пяти меток, то таблицы маршрутизации нам трогать не нужно, достаточно будет в:
/etc/ppp/ip-up
указать, какой из 5 меткой метить пакеты для данного клиента (ppp0, ppp1,...pppN)
в таблице mangle цепочки PREROUTING.

>
>Если я правильно помню, то ppp0 - это соединение к провайдеру. Соответственно,
>пришедшие по нему пакеты должны будут разтранслироваться и пойти к подключившимся
>к нам клиентам.

Нет, не правильно: соединения ч/з адсл-модемы - eth1, eth2,...,eth5
ppp0, ppp1,...,pppN - подключившиеся клиенты в локальной сети.

>
>это point-to-point. главное направить пакеты в интерфейс, и он точно вылезет там
>где надо - на удаленной стороне туннеля.
>

Думаю, так оно и есть.

>
>А что должно заставлять сохранять маршрут ?

А что заставляет вдруг сменить маршрут для открытого соединения, по которому идет передача пакетов? Пакеты себе идут по очереди, вдруг следующий пакет начинается роутится по другому правилу? А почему не предыдущий? И почему именно по этому новому правилу а не по любому другому? Странно это.

>Я уже говорил, что для того чтобы сделать балансировку,
>нужно либо группировать клиентов и назначать внешний канал применительно к группе,

Думаю, так и поступлю, только еще не знаю  как все это оформить.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

25. "vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от начинающий on 04-Ноя-09, 20:20 

Прошу прощения господ, что безцеремонно "влезаю" в умную беседу.

>А что заставляет вдруг сменить маршрут для открытого соединения, по которому идет
>передача пакетов? Пакеты себе идут по очереди, вдруг следующий пакет начинается
>роутится по другому правилу? А почему не предыдущий? И почему именно
>по этому новому правилу а не по любому другому? Странно это.
>

Вы либо гуманатарий, либо в проспали (прогуляли) все лекции по IT.
Думаю, что Вам вмеcто чтения конкретных инструкций настройки, стоит что-либо почитать по основам ip сетей, чтобы хотя бы в общих чертах понимать то, о чём Вам пишут.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

26. "vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от handler2006 email(ok) on 05-Ноя-09, 11:06 
>
>Вы либо гуманатарий, либо в проспали (прогуляли) все лекции по IT.
>Думаю, что Вам вмеcто чтения конкретных инструкций настройки, стоит что-либо почитать по
>основам ip сетей, чтобы хотя бы в общих чертах понимать то,
>о чём Вам пишут.

Вы будете смеяться, но у меня вообще нет образования, и только в этом году я поступил на информатику  - понял, что без образования ничего умного не построишь.
А что именно по основам советуете почитать?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

27. "vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от ALex_hha (ok) on 05-Ноя-09, 11:55 
У cisco есть хороший курс для подготовки к CCNA. Книжка около 1000 страниц. Мне понравилась
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

28. "vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от handler2006 email(ok) on 05-Ноя-09, 12:51 
В общем, сейчас все выглядит следующим образом:
Имеются 5 описанных нами таблиц маршрутизации;
добавлены правила для роутинга маркированных пакетов:
ip rule add fwmark 10 table T1 (20 для Т2, 30 для Т3 ... 50 для Т5)
В скрипты /etc/ppp/ip-up(ip-down)
# $5 - адрес ррр-клиента
iptables -t mangle -A(D) PREROUTING -s $5 -d ! $LOCAL_NET -j MARK --set-mark 10(или 20/30.../50)

В правилах iptables описены правила нат для маркированных пакетов:
iptables -t nat -A POSTROUTING -m mark  --mark 10(20/30...50) -j SNAT --to-source $ADSL1(2/3.../5)
Пока все работает, но нужно решить еще две задачи:
1. Где хранить значение текущего активного канала (от 1 до 5) для выбора маркера пакетов?
Можно либо в файле, либо в переменной окружения.
2. Как уже было замечено выше, у нас двойной нат: на линуксе и модеме. Если мы модемы переведем в режим моста, то у нас перемешаются ррр-клиенты и ррр-модемы, т. к. у нас применяется схема:
ppp- клиенты
eth  - модемы

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

29. "vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от handler2006 email(ok) on 05-Ноя-09, 12:53 
>[оверквотинг удален]
>Пока все работает, но нужно решить еще две задачи:
>1. Где хранить значение текущего активного канала (от 1 до 5) для
>выбора маркера пакетов?
>Можно либо в файле, либо в переменной окружения.
>2. Как уже было замечено выше, у нас двойной нат: на линуксе
>и модеме. Если мы модемы переведем в режим моста, то у
>нас перемешаются ррр-клиенты и ррр-модемы, т. к. у нас применяется схема:
>
>ppp- клиенты
>eth  - модемы

3. Как собирать статистику по логину?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

30. "vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от ALex_hha (ok) on 05-Ноя-09, 13:43 
>[оверквотинг удален]
>>выбора маркера пакетов?
>>Можно либо в файле, либо в переменной окружения.
>>2. Как уже было замечено выше, у нас двойной нат: на линуксе
>>и модеме. Если мы модемы переведем в режим моста, то у
>>нас перемешаются ррр-клиенты и ррр-модемы, т. к. у нас применяется схема:
>>
>>ppp- клиенты
>>eth  - модемы
>
>3. Как собирать статистику по логину?

freeradius

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

31. "vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от ALex_hha (ok) on 05-Ноя-09, 13:44 
>Пока все работает, но нужно решить еще две задачи:
>1. Где хранить значение текущего активного канала (от 1 до 5) для
>выбора маркера пакетов?

# ip route show | grep default | awk '{print $3}'

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

32. "vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от handler2006 email(ok) on 05-Ноя-09, 14:32 
>
># ip route show | grep default | awk '{print $3}'

Таблица маршрутов выглядит так:
]# ip route show        
100.100.100.10 dev ppp0  proto kernel  scope link  src 100.100.100.1
10.10.20.0/24 dev eth2  proto kernel  scope link  src 10.10.20.10
10.10.50.0/24 dev eth1.50  proto kernel  scope link  src 10.10.50.10
10.10.30.0/24 dev eth3  proto kernel  scope link  src 10.10.30.10
10.10.10.0/24 dev eth1.10  proto kernel  scope link  src 10.10.10.10
192.168.122.0/24 dev virbr0  proto kernel  scope link  src 192.168.122.1
10.10.40.0/24 dev eth4  proto kernel  scope link  src 10.10.40.10
169.254.0.0/16 dev eth2  scope link  metric 1002
169.254.0.0/16 dev eth0  scope link  metric 1003
169.254.0.0/16 dev eth4  scope link  metric 1005
169.254.0.0/16 dev eth3  scope link  metric 1006
169.254.0.0/16 dev eth1.10  scope link  metric 1007
169.254.0.0/16 dev eth1.50  scope link  metric 1008
192.168.0.0/16 dev eth0  proto kernel  scope link  src 192.168.1.1
default
    nexthop via 10.10.10.1  dev eth1.10 weight 1
    nexthop via 10.10.20.1  dev eth2 weight 1
    nexthop via 10.10.30.1  dev eth3 weight 1
    nexthop via 10.10.40.1  dev eth4 weight 1
    nexthop via 10.10.50.1  dev eth1.50 weight 1

Схему выбора активного маркера пакетов можно представить так :

/etc/ppp/marker
MARKER=10

/etc/ppp/ip-up
. ./marker
iptables -t mangle -A PREROUTING -s $5 -d ! $NET_LOCAL -j MARK --set mark $MARKER
if ($MARKER==50) $MARKER=10
else $MARKER+=10
echo 'MARKER='$MARKER > ./marker

т. е. читаем маркер из файла, подставляем его значение в правило, затем проверяем, если маркер принял максимальное значение, то устанавливаем в начальное 10, иначе увеличиваем на 10 и записываем назад в файл.
Сейчас проверю.


Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

33. "vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от handler2006 email(ok) on 07-Ноя-09, 11:25 
Надо работать ч/з mysql.
Имеем таблицу ppp.mark:
mark - маркер пакетов для каждого из пяти маршрутов;
count - счетчик кол-ва клиентов на каждом маршруте;
Сортируем таблицу по кол-ву подключений на каналах:
mysql> select * from ppp.mark order by count;
+------+-------+
| mark | count |
+------+-------+
|   30 |     0 |
|   40 |     0 |
|   50 |     0 |
|   10 |     1 |
|   20 |     3 |
+------+-------+

Нам нужно в /etc/ppp/ip-up передать значение mark=30:

VAR=0
echo 'select mark form ppp.mark order by count' | mysql > $VAR

Данная конструкция не работает.
Как правильно получить значение из таблицы и присвоить его переменной в скрипте?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

34. "vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от ALex_hha (ok) on 07-Ноя-09, 16:11 
>Нам нужно в /etc/ppp/ip-up передать значение mark=30:
>
>VAR=0
>echo 'select mark form ppp.mark order by count' | mysql > $VAR
>
>Данная конструкция не работает.

ЖЖЕШЬ!!!

>Как правильно получить значение из таблицы и присвоить его переменной в скрипте?

учи матчасть

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

35. "vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от handler2006 (ok) on 07-Ноя-09, 21:27 
В матчасти не указано, как присвоить переменной в стартовом скрипте значение из таблицы? к сожалению.
Тут еще одна пролема назрела:
при создании второго впн-туннеля ppp1, ppp0 отваливается, т. е. перестают поступать пакеты на интерфейс вообще: tcpdump молчит.
Я весьма расстроен таким положением вещей.
Попробую еще явно указать маршрут для каждого ррр-туннеля в
/etc/ppp/ip-up
ip rule add prio 1 from ppp0 table T1
Мне кажется, что проблема в маршрутах.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

36. "vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от handler2006 email(ok) on 08-Ноя-09, 10:02 
Вопрос о присвоении переменной из таблицы относится к bash-script:

VAR=$(mysql -e"select * from ppp.mark")
echo $VAR

Странно, что подобную конструкцию я нашел после двухдневного поиска - а она очень полезна в скриптах...

По поводу маршрутов:
ip rule add from ppp_addr_client table T1(2...5)

При интенсивном подключении-отключении ррр-клиентов таблица не будет раздуваться?
Слышал мнение, что динамически модифицировать таблицу маршрутов не рекомендуется.
Сейчас пока один клиент (тестовый) - правило добавляется-удаляется корректно - но это один, а что будет при массовом подключении.
Интересно, как реализована схема у провайдеров - они ведь тоже работают по впн-туннелям?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

37. "vpn-туннели и роутинг (или форвардинг)"  +/
Сообщение от ALex_hha (??) on 08-Ноя-09, 20:46 
>При интенсивном подключении-отключении ррр-клиентов таблица не будет раздуваться?
>Слышал мнение, что динамически модифицировать таблицу маршрутов не рекомендуется.

не вижу в этом ничего плохого, ты ж не маршрут по умолчанию будешь менять.

>Интересно, как реализована схема у провайдеров - они ведь тоже работают по
>впн-туннелям?

думаю у них есть какой то аналог round robin

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

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




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

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