У меня есть два интерфейса в моем 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
, как именно правила будут искать меня?
Существует много типов 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 описаны на странице документа .
Однако писать каждый адрес вручную сложно. Я не думаю поэтому это окончательное решение.