Назад | Перейти на главную страницу

squid3 с tcp_outgoing_address не мог никуда подключиться

У меня есть один сервер с 3 интерфейсами (3 физических карты LAN), которые подключены к 3 различным маршрутизаторам. У каждого маршрутизатора своя подсеть, т.е. 3 интерфейса сервера принадлежат 3 разным поддоменам:

eth0    192.168.1.42 #default interface
eth1    192.168.11.42
eth2    192.168.12.42

Я установил на сервере сервер squid с минимальной конфигурацией, и он действительно отлично работает с веб-браузером. Вот файл squid.conf:

acl all src all
acl lan src 192.168.0.0/16
http_port 3128
access_log /var/log/squid3/access.log squid
hosts_file /etc/hosts
http_access allow lan
http_access deny all

Теперь я бы хотел, чтобы сервер squid использовал один конкретный интерфейс (eth1) вместо eth0 для отправки пакетов (потому что внутри этого маршрутизатора есть openvpn). И после некоторого исследования я попробовал следующее:

tcp_outgoing_address 192.168.11.42

Однако после добавления этой строки я не мог перейти в ЛЮБОЕ место из браузера с помощью прокси-сервера squid. После некоторого поиска в Google некоторые упомянули о SNAT iptables и ip route, но это кажется действительно сложным, и я действительно не уверен, что мне следует установить в этом случае.

Я пробовал с squid3 -k debug, но у меня есть только что-то вроде этого в cache.log, не уверен, помогает ли это:

2014/06/26 17:16:42.843| comm_calliocallback: 0
2014/06/26 17:16:42.843| event.cc(225) checkEvents
2014/06/26 17:16:42.853| EventDispatcher::dispatch: Running 'MaintainSwapSpace'
2014/06/26 17:16:42.853| storeMaintainSwapSpace: f=1.00, max_scan=500, max_remove=80
2014/06/26 17:16:42.853| UFSSwapDir::maintain: /var/spool/squid3 removed 0/80 f=1.0000 max_scan=500
2014/06/26 17:16:42.853| event.cc(315) schedule: Adding 'MaintainSwapSpace', in 1.00 seconds
2014/06/26 17:16:42.853| comm_iocallbackpending: 0
2014/06/26 17:16:42.853| comm_calliocallback: 0
2014/06/26 17:16:42.853| comm_calliocallback: 0
2014/06/26 17:16:42.863| comm_iocallbackpending: 0
2014/06/26 17:16:42.863| comm_calliocallback: 0

Любая помощь будет очень высоко ценится.

Хорошо, после некоторых дальнейших исследований, я думаю, что ответ source plicy routing.

Я выполнил следующие шаги:

Не удается проверить связь с многосетевой Linux-машиной на нестандартном интерфейсе

И это работает как шарм!