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

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

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

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

What i Дополнительно попробовали:

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 , как именно правила будут искать меня?

0
задан 6 February 2016 в 21:13
1 ответ

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

I используйте для этой цели тип 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 описаны на странице документа .

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

0
ответ дан 5 December 2019 в 10:43

Теги

Похожие вопросы