INNER CODE UNIT · Shell

mss6

bivlked/amneziawg-installer · awg_common.sh:1993

    local mss6=$(( awg_mtu - 60 ))
    postup="${postup}; iptables -t mangle -A FORWARD -o %i -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss ${mss4}; iptables -t mangle -A FORWARD -i %i -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss ${mss4}"
    postdown="${postdown}; iptables -t mangle -D FORWARD -o %i -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss ${mss4}; iptables -t mangle -D FORWARD -i %i -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss ${mss4}"

    # Изоляция клиентов (issue #178): DROP awg0->awg0 до общего ACCEPT.
    # PostUp выполняется слева направо, -I вставляет в начало цепочки -
    # правило, добавленное В СТРОКЕ ПОЗЖЕ, оказывается В ЦЕПОЧКЕ ВЫШЕ, поэтому
    # DROP дописывается в конец postup. Перед -I дренируем stale-копии циклом
    # -D: после сбойного PostDown копия DROP иначе копилась бы с каждым up
    # (ревью PR #179). Именно drain, а не -C: stale-копия к этому моменту
    # лежит НИЖЕ свежевставленного ACCEPT, -C нашёл бы её, пропустил вставку -
    # и awg0->awg0 трафик уходил бы в ACCEPT (изоляция молча сломана).
    # PostDown с '2>/dev/null || true': после переустановки on->off правила в
    # running-наборе нет, и упавший -D не должен ронять awg-quick down
    # (down-фаза restart работает уже с новым конфигом). Unset
    # CLIENT_ISOLATION = 1: конфиги до v5.20 изолированы.
    if [[ "${CLIENT_ISOLATION:-1}" -eq 1 ]]; then
        postup="${postup}; while iptables -D FORWARD -i %i -o %i -j DROP 2>/dev/null; do :; done; iptables -I FORWARD -i %i -o %i -j DROP"

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…