• IPv6 А что надо сказать ip6tables, на роутере, чтобы он начал пропускать внутрь торрентовые соединения, tcp/udp на порт 6881?
    Это должно быть в таблице filter и цепочке forward. Веб-интерфейс ещё не допилен, внутрь проброшены порты только для v4.

Replies (32)

  • @beard, то же самое, что и иптаблесу?
  • @lexszero, в v4 это идёт через нат, для v6 это транзитное соединение:
    $ iptables -t nat -S
    -P PREROUTING ACCEPT
    -P POSTROUTING ACCEPT
    -P OUTPUT ACCEPT
    -N UPNP
    -N VSERVER
    -A PREROUTING -d 176.xxx.xxx.xxx/32 -j VSERVER
    -A PREROUTING -d 169.254.231.142/32 -j VSERVER
    -A POSTROUTING ! -s 176.xxx.xxx.xxx/32 -o ppp0 -j MASQUERADE
    -A POSTROUTING ! -s 169.254.231.142/32 -o vlan1 -j MASQUERADE
    -A POSTROUTING -s 192.168.9.0/24 -d 192.168.9.0/24 -o br0 -j MASQUERADE
    -A VSERVER -p tcp -m tcp --dport 6881 -j DNAT --to-destination 192.168.9.17:6881
    -A VSERVER -p udp -m udp --dport 6881 -j DNAT --to-destination 192.168.9.17:6881
    -A VSERVER -p udp -m udp --dport 4444 -j DNAT --to-destination 192.168.9.17:4444
  • @beard, $ ip6tables -t filter -S
    -P INPUT ACCEPT
    -P FORWARD ACCEPT
    -P OUTPUT ACCEPT
    -N SECURITY
    -N logaccept
    -N logdrop
    -A INPUT -m rt --rt-type 0 -j DROP
    -A INPUT -p udp -m udp --dport 546 -j ACCEPT
    -A INPUT -p ipv6-icmp -m icmp6 ! --icmpv6-type 128 -j ACCEPT
    -A INPUT -m conntrack --ctstate INVALID -j DROP
    -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
    -A INPUT -i lo -m conntrack --ctstate NEW -j ACCEPT
    -A INPUT -i br0 -m conntrack --ctstate NEW -j ACCEPT
    -A INPUT -s ff00::/8 -j ACCEPT
    -A INPUT -i ppp0 -m conntrack --ctstate NEW -j SECURITY
    -A INPUT -i vlan1 -m conntrack --ctstate NEW -j SECURITY
    -A INPUT -p ipv6-icmp -m icmp6 --icmpv6-type 128 -j ACCEPT
    -A INPUT -p udp -m udp --dport 33434:33534 -j ACCEPT
    -A INPUT -j DROP
    -A FORWARD -m rt --rt-type 0 -j DROP
    -A FORWARD -i br0 -o br0 -j ACCEPT
    -A FORWARD -m conntrack --ctstate INVALID -j DROP
    -A FORWARD -s ff00::/8 -j ACCEPT
    -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
    -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
    -A FORWARD -p ipv6-icmp -j ACCEPT
    -A FORWARD ! -i br0 -o ppp0 -j DROP
    -A FORWARD ! -i br0 -o vlan1 -j DROP
    -A FORWARD ! -i br0 -m conntrack --ctstate NEW -j SECURITY
    -A OUTPUT -m rt --rt-type 0 -j DROP
    -A logaccept -m conntrack --ctstate NEW -j LOG --log-prefix "ACCEPT " --log-tcp-sequence --log-tcp-options --log-ip-options --log-macdecode
    -A logaccept -j ACCEPT
    -A logdrop -m conntrack --ctstate NEW -j LOG --log-prefix "DROP " --log-tcp-sequence --log-tcp-options --log-ip-options --log-macdecode
    -A logdrop -j DROP
  • @beard, Блядь, они до сих пор не научились с соединениями работать, продолжают пакеты туда-сюда гонять:
    -m conntrack --ctstate NEW RELATED,ESTABLISHED
    --tcp-flags SYN,RST SYN
    какого хуя мне должно быть дело до этой ёбаной ссанины? Соединение изначально предполагает, что данные, внутри него, ходят в обе стороны.
  • @beard, Что будет делать эта конструкция:
    -A FORWARD -i ppp0 -o br0 -p tcp --dport 6881 -j ACCEPT
    -A FORWARD -i ppp0 -o br0 -p udp --dport 6881 -j ACCEPT
    и будет ли она что-то делать. И в какое место его вставлять
  • @beard, у тебя и так все должно работать, ибо
    -P FORWARD ACCEPT (остальное можно вообще не писать)
    -A FORWARD -i br0 -o br0 -j ACCEPT
    -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

    ну и да, clamp-mss-to-pmtu обычно делают в mangle
  • @beard, Ну и ничего удивительного:
    Предшественниками iptables были ... и ipfwadm (...). Последний был основан на BSD-утилите ipfw.
    iptables сохраняет идеологию, ведущую начало от ipfwadm

    Т.е. iptables = ipfw. Который давно закопали.
    Ну вот нигде не вижу, чтобы было что-то похожее на "stateful-фильтрацию".
  • @beard, есть всяческие марки, которые розумiют не только ипстолы, но и вся сетевая подсистема (iproute2, tc, итд)
  • @lexszero, br0 — это бридж между lan и wifi. Внешний интерфейс — ppp0
  • @beard, а, тьфу. -i br0 -o br0 — это вообще хуита какая-то. энивей, политика цепочки accept.
  • @lexszero, Это так уже было. Предполагается, всё разрешно на локальном интерфейсе, разрешены исходящие соединения изнутри наружу и запрещены входящие соединения снаружи внутрь.
    Надо разрешить входящие соединения снаружи внутрь для порта 6881, пусть будет диапазон 6881..6889, кажется так.
  • @beard, А тут ещё в чём разница?
    --append -A chain Append to chain
    --insert -I chain [rulenum] Insert in chain as rulenum (default 1=first)
    Добавляется в конец, вставляется в начало?
  • @beard, да, аппенд добавляет в конец, инсерт может вставить в середину
  • @beard, --new -N chain Create a new user-defined chain
    Какая политика устанавливается по умолчанию?? Что значит следующее:
    10 SECURITY all anywhere anywhere ctstate NEW
    -A FORWARD ! -i br0 -m conntrack --ctstate NEW -j SECURITY
    -N SECURITY
    Цепочка пустая, политика не установлена. В веб-интерфейсе там было что-то про логирование, выбрано ничего не делать. При умолчательной политике ACCEPT что тут происходит?
    Да ну, вообще идиотизм сплошной.
  • @beard, типичное же: нам не надо, как проще, нам надо, чтобы все заебались
  • @beard, Only built-in (non-user-defined) chains can have policies, and neither built-in nor user-defined chains can be policy targets.
  • @beard, я не могу придумать ничего проще, чем текущий иптаблес. вот серьезно.
    вот шейпинг и QoS через tc — это да, это и правда наркомания. тяжелая.
  • @beard, прочитал ман. он убогий.
  • @lexszero, ман убогий, в нём очень далеко не всё
  • @beard, мне хватило увидеть ad-hoc синтаксис на каждый чих.
  • @lexszero, В результате-то что происходит? Из последнего правила ушли в пустую цепочку. Что дальше произошло?
  • @beard, вернулись обратно и поехали дальше по правилам
  • @lexszero, Ну охуеть теперь. Оно было последним. Дальше идёт политика цепочки ACCEPT.
    Каким надо быть мудаком, чтобы так делать. Или я опять логику не понимаю. И оно дальше ещё куда-то на обработку уходит.
  • @beard, Там вообще везде ACCEPT
  • @beard, upload.wikimedia.org
    да, очень похоже что китайцы, быдлокодившие софт роутера, тупые.
  • @lexszero, l7-filter.sourceforge.net
    во, эта картинка лучше.
  • @lexszero, я вот тут читаю ru.wikibooks.org
  • @beard, там и так уже проходной двор. Цепочка forward для v4 заканчивается правилом -A FORWARD -o br0 -j DROP.
  • @beard, и ещё направление надо учитывать:
    для соединений изнутри наружу, должен остаться ACCEPT;
    для соединений снаружи внутрь, на диапазон портов 6881:6889, тоже ACCEPT;
    для остальных соединений снаружи внутрь, должен быть DROP.
  • @beard, осталось понять, как обозначать направление:
    -i ppp0 -o br0 — снаружи внутрь?
    -i br0 -o ppp0 — изнутри наружу?
  • @beard, ом-ном-ном. Произошли какие-то подвижки с пакетным фильтром, что-то сделали, не полностью, но изрядно причесали. Появились блоки TODO для v6 VSERVER.