У меня два интерфейса в моем ifconfig
, eth0 и eth1. Squid настроен на прием соединений от них обоих через порт 3000.
Тем не мение, eth0
IP-адрес всегда используется для отправки запросов прокси, даже если клиент подключился, используя 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 описаны в страница документа.
Однако писать каждый адрес вручную болезненно. Я не думаю, что это окончательное решение из-за этого.