Я настроил кальмар прозрачный tproxy. Все нормально работает.
Теперь мне нужно, чтобы весь трафик, идущий на внешний IP (Интернет), не проходил через прокси.
Нужно ли мне изменять правила iptables, ebetables или изменять конфигурацию squid?
я нашел этот учебник, но он не использует правила tproxy.
правила iptables:
iptables -F -t mangle
iptables -X -t mangle
iptables -t mangle -N DIVERT
iptables -t mangle -A PREROUTING -p tcp -m socket -j 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 --dport 80 -j TPROXY --tproxy-mark 0x1/0x1 --on-port 3129
Правила ebtables:
ebtables -t broute -A BROUTING -i eth1 -p ipv4 --ip-proto tcp --ip-dport 80 -j redirect --redirect-target DROP
ebtables -t broute -A BROUTING -i eth0 -p ipv4 --ip-proto tcp --ip-sport 80 -j redirect --redirect-target DROP
Похоже, мне нужно вставить правила обхода перед первым правилом ebtables. Это правильно?
Эти правила работают?
ebtables -t broute -A BROUTING -i eth1 -p ipv4 --ip-proto -d IP_dest -j ACCEPT
ebtables -t broute -A BROUTING -i eth0 -p ipv4 --ip-proto -s IP_dest -j ACCEPT