Как я могу сделать Squid использовать тот же порт источника для запроса вывода клиента - PullRequest
0 голосов
/ 15 марта 2020

У меня squid 3.5 в качестве прозрачного прокси на CentOs 7,

TPROXY использует тот же IP-адрес, что и полученный http-пакет, и меняет исходный порт на случайный порт. Есть ли способ отправить http-пакет без изменить порт источника?

Я использую следующую конфигурацию:

squid.conf:

http_port 3128
http_port 3129 tproxy

Kernel и правила iptables

NF_CONNTRACK=m
NETFILTER_TPROXY=m
NETFILTER_XT_MATCH_SOCKET=m
NETFILTER_XT_TARGET_TPROXY=m

ip rule add pri 3000 fwmark 1 table 100
ip route add local default dev lo table 100

iptables -t mangle -N DIVERT
iptables -t mangle -A DIVERT -j MARK --set-mark 1
iptables -t mangle -A DIVERT -j ACCEPT
iptables  -t mangle -A PREROUTING -p tcp -m socket -j DIVERT
iptables  -t mangle -A PREROUTING -p tcp --dport 80 -j TPROXY --tproxy-mark 0x1/0x1 --on-port 3129
...