Задача:
Есть прокси:
Linux Slackware 10
Squid 2.5 Stable6
2 два внешних канала.
Нужно:
Чтобы вся внешка шла через первый канал, а внутренняя сеть второго
провайдера(чат, форум и т. д.) что по второму каналу, причем через
шлюз не принадлежащий моему администрированию.
Так как внешка по трафику (первый провайдер), а внутренняя сетка
второго прова UNLIMITED. Зечем платить дважды.
Предисловие:
Я много искал в инете как это сделать, но вразумительного ответа не
получал, никто не мог мне помочь, так как никогда не сталкивался с
такой проблеммой. Я решил методом научного тыка сомому попробовать
решить проблему.
Решение:
INET_IP_1=1.1.1.1 # eth0 реальный IP первого канала.
INET_IP_2=2.2.2.1 # eth1 соединение через шлюз.
INET_IP_2_GW=2.2.2.100 # IP адрес шлюза
LAN_IP=192.168.0.1 # внутренняя сеть
route add -net 3.3.0.0/16 gw 2.2.2.100 dev eth1 #прописываем маршрут до
сетки второго провайдера.
В настройка сквида надо сделать так:
acl INET2 dst 3.3.0.0/16 # создаем acl для сетки второго провайдера
acl all src 0.0.0.0/0.0.0.0 # по умолчанию acl для всех остальных
tcp_outgoing_address 2.2.2.1 INET2 # если мы идем на сетку второго
провайдера, то исходящий ip будет 2.2.2.1
never_direct deny INET2
never_direct allow all
Если у вас реальный IP второго провайдера, то роут можно не прописывать.
А вместо tcp_outgoing_address "реальный ip второго канала" INET2.
перезапускаем сквид и наслаждаемся инетом.
Если что напутал готов выслушать критику!