nftables
WEB-UI ( Luci )を使った場合 Luci で ip rule を作って ip route テーブルを作ることはできる。 前回やったコマンドからのポリシールーティングをLuCI(WEB)経由でやる話です。 やることは次の通り。 nftables でマークを扱う。 マーク済パケットをAccept…
OpenWrtでポリシールーティングを入れる ポリシールーティングを入れると何が嬉しいのか。 OpenWrtの nftables (nft) では inet fw4 のテーブルに全部入っている。 しかしLuciのZONE転送の許可拒否とTraffic Acceptをうまく両立するのが大変だった。 Zone 転…
nft で指定位置にinsert する 既存のルールが次のようになっているとき table inet fw4 { chain forward { # handle 2 type filter hook forward priority filter; policy drop; $EXISTS_RULE # handle 2340 $EXISTS_RULE # handle 2341 $EXISTS_RULE # hand…
nftablesのテーブルのルールがあふれる どんなに整理しても、既存のforward テーブルがあふれかえることは避けられない。 細かく条件を入れればいれるほど、forward テーブルに処理が集中してしまい、結局のところiptables時代と何も変わらない気がします。 …
nftablesでacceptとdropにマッチするとdropになる問題 nftablesを使ってると、accept しても他のテーブルでreject(drop)されてしまうことがある。 複数テーブルでaccept と dropが混合しちゃう 例えば、tableAとtableBにforwardの許可設定を書くわけよ。tabl…
nftables で、パケットが該当ルールに来ているかチェックする方法 パケットの行先が不明のとき、どこまでマッチしているか調べる必要がある。このときcounter を使うのが一番簡単。 例えば、Google(v6) 宛のパケットを探したい 次のように、ターゲットとなる…
nft によるMSQUERADE(iptables MASQUERADEからの移行) iptablesでマスカレード(またはSNAT)は古くから行われている枯れた手法。これをnft(nftables)に書き換える場合のメモ 次のような、マスカレード(NAT)をiptablesで追記しているとする。 iptables -…
nftablesでruleを追加してたら、時々遭遇するこの記述である。 Error: Could not process rule: Operation not supported になるのは、type nat のルールを type filter に入れたとき 再現例 filter に snat を入れる # filter を作る nft add table sample …
nftablesでルーティングが効かかないことがあった。 ポリシ・ルーティングをしていて、ルーティングされないので頭を悩ませてた。しらべたら、 type routeを使うのが必須であった。 パケットを転送するときは、ポリシルーティングが効く、しかし、ルーティン…
nftablesでiptables xt_recent を使えない iptables でrecent モジュールを使って、閾値を設けることができる。 iptables -I INPUT -i eth2 -m conntrack --ctstate NEW -m recent --name fromList --set iptables -I INPUT -i eth2 -m recent --name fromLi…
マーキングしたパケットを通常のルーティングより優先度を上げた別のルーティングテーブルで転送する このとき、nf_tables でパケットの条件を指定して、マーキングする。 該当のパケットをマーキングする wireguardのインターフェイスから来たパケットは0x6…
linuxで単純なルータ機能を作る マスカレードやDNAT/SNATをして、ルータ機能を作ってみる。 先のiptablesと比較してnft でどうなるのかを見たいので、試した。 ネットワーク構成図 以下のようなネットワーク構成を作る 実際に作った構成 ipコマンドには netn…
nftablesへの移行 openwrt をアップグレードしたら、fw3 が fw4 にアップグレードされて、nftablesがデフォルトになった。 そして、nftablesを使わないルールがあると、注意・警告が出るようになった。とても煩わしいし、ルールの確認のために見る箇所が増え…
nftablesに変わったらiptablesが動かなくなった。 nftablesに変わってもiptablesはそのまま動作する。と思ってたのですが。iptablesだけで書くとそのまま動作するが、nftablesとiptablesが混ざるとACCEPTが動かない。混ぜるな!と思うかもしれませんが、ディ…
ipv6 NATをnftables v4 の masquerade は次のようになっていた。 nft を使ってv4 を作る単純な例は次のようになる。 # テーブル追加 nft add table my_nat44 # テーブルにフィルタチェーンを追加 nft add chain my_nat44 postrouting { type nat hook postro…
nftables linux のiptablesはそのままのコマンドで動作するのですが。 iptablesはnftablesのサブセットのような扱いになっています。 iptablesと比較しながら、超基本的な書式を学ぶことにした。 nftables nftables で masquerade する。 最初にテーブル追加…
ubuntu の apt で入れた sslh が微妙だった件。 ubuntu の apt で入れた sslh にいくつか問題があった。どのようにめんどくさいかというと、設定の追加がほぼ不可能なのだ。 /etc/init.d/sslh/ をベースにしていて、 init.dが/etc/default/sslh を sourceし…