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

Как узнать, что Squid использует IP-адрес источника для отправки запросов?

У меня два интерфейса в моем ifconfig, eth0 и eth1. Squid настроен на прием соединений от них обоих через порт 3000.

Тем не мение, eth0IP-адрес всегда используется для отправки запросов прокси, даже если клиент подключился, используя eth1 адрес.

Как заставить кальмаров всегда использовать просто исходный IP как tcp_outgoing_address (без записи этого IP в файл конфигурации)?

Что я пробовал дополнительно:

acl from_eth0 src A.B.C.D/1
acl from_eth1 src E.F.G.H/1

tcp_outgoing_address A.B.C.D from_eth0
tcp_outgoing_address E.F.G.H from_eth1

Если мне нужно использовать iptables, как именно меня будут искать правила?

Есть много видов acl. src означает IP-адрес клиента, а не IP-адрес интерфейса (локальный адрес).

я использую localip Тип acl для этой цели:

acl from_eth0 localip A.B.C.D
acl from_eth1 localip E.F.G.H

tcp_outgoing_address A.B.C.D from_eth0
tcp_outgoing_address E.F.G.H from_eth1
tcp_outgoing_address 1.2.3.4 # default

Типы ACL описаны в страница документа.

Однако писать каждый адрес вручную болезненно. Я не думаю, что это окончательное решение из-за этого.