URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 91025
[ Назад ]

Исходное сообщение
"2 инета, рулим доступ"

Отправлено Vladsky , 26-Фев-11 22:23 
Все привет!
Есть роутер на линуксе (Мандрива 2008.1), 3 сет интерфейса:

1. локалка
2. инет 1 провайлер
3. инет 2 провайдер (подключение PPPOE поднято на модеме, модем в режиме роутер, на сет карте ПК локальный адрес)

Задача заставить прокси сквид работать на 2 сет карте (через PPPOE)


Содержание

Сообщения в этом обсуждении
"2 инета, рулим доступ"
Отправлено ford1813 , 26-Фев-11 23:50 
> Все привет!
> Есть роутер на линуксе (Мандрива 2008.1), 3 сет интерфейса:
> 1. локалка
> 2. инет 1 провайлер
> 3. инет 2 провайдер (подключение PPPOE поднято на модеме, модем в режиме
> роутер, на сет карте ПК локальный адрес)
> Задача заставить прокси сквид работать на 2 сет карте (через PPPOE)

Если только через 2-ю то :
#  TAG: tcp_outgoing_address
#    tcp_outgoing_address ipaddr [[!]aclname] ...
#    tcp_outgoing_address 10.1.0.1 normal_service_net
#    tcp_outgoing_address 10.1.0.2 good_service_net
#    tcp_outgoing_address 10.1.0.3


"2 инета, рулим доступ"
Отправлено PavelR , 27-Фев-11 10:26 
>[оверквотинг удален]
>> 2. инет 1 провайлер
>> 3. инет 2 провайдер (подключение PPPOE поднято на модеме, модем в режиме
>> роутер, на сет карте ПК локальный адрес)
>> Задача заставить прокси сквид работать на 2 сет карте (через PPPOE)
> Если только через 2-ю то :
> #  TAG: tcp_outgoing_address
> # tcp_outgoing_address ipaddr [[!]aclname] ...
> # tcp_outgoing_address 10.1.0.1 normal_service_net
> # tcp_outgoing_address 10.1.0.2 good_service_net
> # tcp_outgoing_address 10.1.0.3

tcp_outgoing_address

+

http://www.opennet.me/tips/sml/92.shtml
http://www.opennet.me/tips/2009_policy_route_linux.shtml


"2 инета, рулим доступ"
Отправлено Vladsky , 28-Фев-11 23:30 
>[оверквотинг удален]
>> Если только через 2-ю то :
>> #  TAG: tcp_outgoing_address
>> # tcp_outgoing_address ipaddr [[!]aclname] ...
>> # tcp_outgoing_address 10.1.0.1 normal_service_net
>> # tcp_outgoing_address 10.1.0.2 good_service_net
>> # tcp_outgoing_address 10.1.0.3
> tcp_outgoing_address
> +
> http://www.opennet.me/tips/sml/92.shtml
> http://www.opennet.me/tips/2009_policy_route_linux.shtml

Попробовал параметр:
tcp_outgoing_address IP_адрес_2_инета нужный_acl

долго думает и не открывает (

установил в SQuid conf параметр отучающий использовать шлюз по умолчанию:
server_persistent_connections off

без результатно (

пробовал сделать как здесь
http://www.opennet.me/tips/2009_policy_route_linux.shtml

создал записи о таблицах в /etc/iproute2/rt_tables

100 provider1
101 provider2

прописал маршруты

ip route add default via 10.10.0.2 table provider1
ip route add default via 10.10.1.2 table provider2

прописал правила

ip rule add from 10.10.0.2 table provider1
ip rule add from 10.10.1.2 table provider2

и интерфейс внешний умер )

у меня настроен фаервол при помощи правил в iptables . сбросил все цепочки, все равно (


"2 инета, рулим доступ"
Отправлено PavelR , 01-Мрт-11 08:47 
> пробовал сделать как здесь
> http://www.opennet.me/tips/2009_policy_route_linux.shtml

Прочитайте статью внимательно. До конца. Там еще написано использовать pref для указания точной позиции правила в списке правил...

> создал записи о таблицах в /etc/iproute2/rt_tables
> 100 provider1
> 101 provider2
> прописал маршруты
> ip route add default via 10.10.0.2 table provider1
> ip route add default via 10.10.1.2 table provider2

Вообще-то тут надо указывать айпишник шлюза.

> прописал правила
> ip rule add from 10.10.0.2 table provider1
> ip rule add from 10.10.1.2 table provider2

А тут - локальный айпишник интерфейса.

> и интерфейс внешний умер )

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



"2 инета, рулим доступ"
Отправлено Vladsky , 22-Мрт-11 23:05 
>[оверквотинг удален]
>> ip route add default via 10.10.1.2 table provider2
> Вообще-то тут надо указывать айпишник шлюза.
>> прописал правила
>> ip rule add from 10.10.0.2 table provider1
>> ip rule add from 10.10.1.2 table provider2
> А тут - локальный айпишник интерфейса.
>> и интерфейс внешний умер )
> Вот он и умер, потому что вы не внимательны и один и
> тот же айпишник используете и как локальный адрес и как адрес
> шлюза.

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



"2 инета, рулим доступ"
Отправлено Vladsky , 22-Мрт-11 23:17 
у меня сейчас все рулится iptables, по умолчанию все политики в запрет. и далее открываю нужное. как быть с ним, не много не понимаю. пробовал с помощью iptales гнать пакеты на нужный интерфейс. пример:


iptables -t nat -A POSTROUTING -o $INET_IFACE --src 10.10.0.201 -j SNAT --to-source $INET_IP                                        
iptables -t nat -A POSTROUTING -o $INET2_IFACE --src 10.10.0.200 -j SNAT --to-source $INET2_IP

1 вариант работает, 2 нет. (т.е. через 2 интерфейс)


"2 инета, рулим доступ"
Отправлено Vladsky , 22-Мрт-11 23:36 
если рулить как написано здесь http://www.opennet.me/tips/2009_policy_route_linux.shtml
для 1 провайдера распишу внешние IP к которым доступ через 1 провайдера.
как описать остальной инет на 2 провайдера?



"2 инета, рулим доступ"
Отправлено Vladsky , 23-Мрт-11 23:49 
получилось завести прокси на 2 подключении!
все было в шлюзах, видимо пока не расписал по таблицам, все ломилось к одному, который был по умолчанию.

сделал след:

в etc\iproute2\rt_tables

100 provider1                                                                                                                                              
101 provider2

в конфиге сквида прописал:
tcp_outgoing_address 10.10.1.2  office - acl лок сети

далее правила, прописал их также в etc/rc.d/rc.local

ip route add default via IP_шлюза_1_провайдер table provider1
ip route add default via IP_шлюза_2_провайдер  table provider2

ip rule add from IP_1_инет lookup provider1
ip rule add from IP_2_инет lookup provider2

ip route add подсеть_1_провайдера dev eth1 src IP_1_инет table provider1
ip route add подсеть_2_провайдера dev eth5 src IP_2_инет table provider2


"2 инета, рулим доступ"
Отправлено Vladsky , 24-Апр-11 12:01 
коллеги, добавил еще 1 интерфейс tap0 - openvpn к данной конфигурации.
сетка 192.168.100.0/24.
подключаюсь к vpn через инет. iptables пропускает.
прописал vpn клиентам роуты, через ip vpn сервера. но они не видят за ним подсети.


"2 инета, рулим доступ"
Отправлено PavelR , 24-Апр-11 12:10 
> коллеги, добавил еще 1 интерфейс tap0 - openvpn к данной конфигурации.
> сетка 192.168.100.0/24.
> подключаюсь к vpn через инет. iptables пропускает.
> прописал vpn клиентам роуты, через ip vpn сервера. но они не видят
> за ним подсети.

нипанятна.

Что есть, какие интерфейсы и какие правила маршрутизации, что есть а чего нету у впн-клиентов.


Проще всего увидеть tcpdump-ом на интерфейсе в подсеть, идут ли туда и идут ли обратно.


"2 инета, рулим доступ"
Отправлено Vladsky , 24-Апр-11 12:35 

> Что есть, какие интерфейсы и какие правила маршрутизации, что есть а чего
> нету у впн-клиентов.

сам пк/шлюз - 2 инета, x.x.x.x, 10.10.1.1
1 лок интерфейс 172.16.2.0/24
на нем же поднят tap0 - openvpn 192.168.100.0/24

Это его маршруты:

Destination     Gateway                  Genmask         Flags   MSS Window  irtt Iface
x.x.x.x    *         255.255.255.240     U                        0           0          0 eth1
192.168.100.0   192.168.100.1   255.255.255.0   UG        0 0          0 tap0
192.168.100.0   *               255.255.255.0   U         0 0          0 tap0
172.16.2.0      firewall  255.255.255.0   UG        0 0          0 eth0
172.16.2.0      *               255.255.255.0   U         0 0          0 eth0
192.168.2.0     172.16.2.1      255.255.255.0   UG        0 0          0 eth0
10.10.1.0       10.10.1.1       255.255.255.0   UG        0 0          0 eth5
10.10.1.0       *               255.255.255.0   U         0 0          0 eth5
link-local      *               255.255.0.0     U         0 0          0 eth1
link-local      *               255.255.0.0     U         0 0          0 eth0
link-local      *               255.255.0.0     U         0 0          0 eth5
default         x.x.x.x 0.0.0.0         UG        0 0          0 eth1
default         10.10.1.1       0.0.0.0         UG        0 0          0 eth5


всем клиентам которые подключается по vpn дают в конфиге 2 подсети

ifconfig-push 192.168.100.12 255.255.255.0                                                                                        
                                                                                                                                  
# роутинг на сети центрального офиса                                                                                              
push "route 172.16.2.0 255.255.255.0 192.168.100.1"                                                                              
push "route 192.168.2.0 255.255.255.0 192.168.100.1"

если трассирую с клиента, то он бросается на vpn шлюз .. там все и умирает.
У меня 2 инета, их разводил через механизм iproute2 - создал таблицы, правила.


"2 инета, рулим доступ"
Отправлено PavelR , 24-Апр-11 12:50 
>> Что есть, какие интерфейсы и какие правила маршрутизации, что есть а чего
>> нету у впн-клиентов.
> сам пк/шлюз - 2 инета, x.x.x.x, 10.10.1.1
> 1 лок интерфейс 172.16.2.0/24
> на нем же поднят tap0 - openvpn 192.168.100.0/24

а где сеть 192.168.2.0 ?

>Это его маршруты:
>Destination     Gateway                  Genmask         Flags   MSS Window  irtt Iface
>
>default         x.x.x.x 0.0.0.0         UG        0 0          0 eth1
>default         10.10.1.1       0.0.0.0         UG        0 0          0 eth5

весьма интересно, но надо показывать

ip ru sh + ip ro sh для всех таблиц (main,default, свои таблицы, local не обязательно, если покажете какие есть интефейсы)


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

Это описано в http://www.opennet.me/tips/2009_policy_route_linux.shtml - прочитайте внимательно. (создается таблица localnets).


> если трассирую с клиента, то он бросается на vpn шлюз .. там
> все и умирает.
> У меня 2 инета, их разводил через механизм iproute2 - создал таблицы,
> правила.

Вот их и покажите. Иначе - только телепатия, а она мало кому нужна.


"2 инета, рулим доступ"
Отправлено Vladsky , 24-Апр-11 21:24 
> весьма интересно, но надо показывать
> ip ru sh + ip ro sh для всех таблиц (main,default, свои

[rt@firewall ]# ip ru sh
0:    from all lookup local
2000:    from 172.16.2.45 lookup provider2
2010:    from 172.16.2.111 lookup provider2
2020:    from 172.16.2.103 lookup provider2
2030:    from 172.16.2.61 lookup provider2
32764:    from 10.10.1.2 lookup provider2
32765:    from x.x.x.x lookup provider1
32766:    from all lookup main
32767:    from all lookup default

[rt@hq_firewall ]# ip ro sh
x.x.x.x/28 dev eth1  proto kernel  scope link  src x.x.x.x  metric 1
192.168.100.0/24 via 192.168.100.1 dev tap0  scope link
192.168.100.0/24 dev tap0  proto kernel  scope link  src 192.168.100.1
172.16.2.0/24 via 172.16.2.5 dev eth0  scope link
172.16.2.0/24 dev eth0  proto kernel  scope link  src 172.16.2.5  metric 1
192.168.2.0/24 via 172.16.2.1 dev eth0
10.10.1.0/24 via 10.10.1.1 dev eth5
10.10.1.0/24 dev eth5  proto kernel  scope link  src 10.10.1.2  metric 5
192.168.168.0/24 via 172.16.2.1 dev eth0
169.254.0.0/16 dev eth1  scope link  metric 1
169.254.0.0/16 dev eth0  scope link  metric 1
169.254.0.0/16 dev eth5  scope link  metric 5
default via x.x.x.x dev eth1  metric 1
default via 10.10.1.1 dev eth5  metric 5
[rt@firewall ]#

внутренние интерфейсы eth0 (172.16.2.5) локалка, eth1 (x.x.x.x) eth5 (10.10.1.2) - оба интернет (2 через модем, на нем внешний адрес)
и tap0 192.168.100.1

192.168.2.1 - голосовой шлюз, это vlan на атс 172.16.2.1
шлюз их видет. а вот через него vpn клиенты нет.


"2 инета, рулим доступ"
Отправлено PavelR , 24-Апр-11 12:55 
чтобы стало понятнее, возможно =) - потелепатирую в плане предположения, что входящий пакетик из впн-а (да и из локалки тоже) - в соответствии с ip ru сразу же отправляется на внешний интерфейс к провайдеру, а не в соответствующий интерфейс локальной сети.

"2 инета, рулим доступ"
Отправлено Vladsky , 27-Апр-11 10:36 
> чтобы стало понятнее, возможно =) - потелепатирую в плане предположения, что входящий
> пакетик из впн-а (да и из локалки тоже) - в соответствии
> с ip ru сразу же отправляется на внешний интерфейс к провайдеру,
> а не в соответствующий интерфейс локальной сети.