Версия nufw 2.2.8, iptables 1.4.0.
Обязательным условием работоспособности данного примера являются:
В правила iptables добавляем следующее:
# Следующие два правила - если Вы используете полное отслеживание сессий (Connection tracking) в NuFW -t mangle -A PREROUTING -j CONNTRACK --restore-mark -t mangle -A POSTROUTING -m mark ! --mark 0 -j CONNTRACK --save-mark # Несмотря на то, что в этой цепочке очень не рекомендуется управлять разрешениями, это единственная возможность -t mangle -A PREROUTING -i ${internal_if} -p tcp -m state --state NEW --syn -j NFQUEUE # Заворачиваем соединения на порты 21 (ftp) и 80 (http) на Squid -t nat -A PREROUTING -i ${internal_if} -p tcp -m multiport --destination-ports 21,80 -j DNAT --to-destination ${squid_ip}:3128 # Для всех исходящих соединений прячем внутреннюю адрессацию -t nat -A POSTROUTING -o ${external_if} -j SNAT --to-source ${external_ip} # Следующими правилами разрешаются транзитные соединения, если они помечены (см. "Условия работоспособности") -t filter -A FORWARD -m mark ! --mark 0 -m state --state ESTABLISHED,RELATED -j ACCEPT -t filter -A FORWARD -m mark ! --mark 0 -i ${internal_if} -o ${external_if} -m state --state NEW -j ACCEPT
Дискуссия