У меня 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