Все привет!
Есть роутер на линуксе (Мандрива 2008.1), 3 сет интерфейса:1. локалка
2. инет 1 провайлер
3. инет 2 провайдер (подключение PPPOE поднято на модеме, модем в режиме роутер, на сет карте ПК локальный адрес)Задача заставить прокси сквид работать на 2 сет карте (через PPPOE)
> Все привет!
> Есть роутер на линуксе (Мандрива 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. инет 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.3tcp_outgoing_address
+
http://www.opennet.me/tips/sml/92.shtml
http://www.opennet.me/tips/2009_policy_route_linux.shtml
>[оверквотинг удален]
>> Если только через 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 . сбросил все цепочки, все равно (
> пробовал сделать как здесь
> 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А тут - локальный айпишник интерфейса.
> и интерфейс внешний умер )
Вот он и умер, потому что вы не внимательны и один и тот же айпишник используете и как локальный адрес и как адрес шлюза.
>[оверквотинг удален]
>> 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 назначения, и соответственно загонять на нужного провайдера понятно. но как же застравить прокси работать на нужном?
у меня сейчас все рулится 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_IP1 вариант работает, 2 нет. (т.е. через 2 интерфейс)
если рулить как написано здесь http://www.opennet.me/tips/2009_policy_route_linux.shtml
для 1 провайдера распишу внешние IP к которым доступ через 1 провайдера.
как описать остальной инет на 2 провайдера?
получилось завести прокси на 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 provider2ip route add подсеть_1_провайдера dev eth1 src IP_1_инет table provider1
ip route add подсеть_2_провайдера dev eth5 src IP_2_инет table provider2
коллеги, добавил еще 1 интерфейс tap0 - openvpn к данной конфигурации.
сетка 192.168.100.0/24.
подключаюсь к vpn через инет. iptables пропускает.
прописал vpn клиентам роуты, через ip vpn сервера. но они не видят за ним подсети.
> коллеги, добавил еще 1 интерфейс tap0 - openvpn к данной конфигурации.
> сетка 192.168.100.0/24.
> подключаюсь к vpn через инет. iptables пропускает.
> прописал vpn клиентам роуты, через ip vpn сервера. но они не видят
> за ним подсети.нипанятна.
Что есть, какие интерфейсы и какие правила маршрутизации, что есть а чего нету у впн-клиентов.
Проще всего увидеть tcpdump-ом на интерфейсе в подсеть, идут ли туда и идут ли обратно.
> Что есть, какие интерфейсы и какие правила маршрутизации, что есть а чего
> нету у впн-клиентов.сам пк/шлюз - 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 инета, 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 - создал таблицы,
> правила.Вот их и покажите. Иначе - только телепатия, а она мало кому нужна.
> весьма интересно, но надо показывать
> 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.1192.168.2.1 - голосовой шлюз, это vlan на атс 172.16.2.1
шлюз их видет. а вот через него vpn клиенты нет.
чтобы стало понятнее, возможно =) - потелепатирую в плане предположения, что входящий пакетик из впн-а (да и из локалки тоже) - в соответствии с ip ru сразу же отправляется на внешний интерфейс к провайдеру, а не в соответствующий интерфейс локальной сети.
> чтобы стало понятнее, возможно =) - потелепатирую в плане предположения, что входящий
> пакетик из впн-а (да и из локалки тоже) - в соответствии
> с ip ru сразу же отправляется на внешний интерфейс к провайдеру,
> а не в соответствующий интерфейс локальной сети.