nftablesã§acceptã¨dropã«ãããããã¨dropã«ãªãåé¡
nftablesã使ã£ã¦ãã¨ãaccept ãã¦ãä»ã®ãã¼ãã«ã§reject(drop)ããã¦ãã¾ããã¨ãããã
è¤æ°ãã¼ãã«ã§accept 㨠dropãæ··åãã¡ãã
ä¾ãã°ãtableAã¨tableBã«forwardã®è¨±å¯è¨å®ãæ¸ãããããtableAã§Acceptãã¦ãã®ã«ãtableBã§ reject ããããããçµæã¨ã㦠reject ã«ãªã£ã¡ããã
table ip tableA {
chain forward {
type filter hook forward priority filter; policy drop;
iifname br0 oifname eth1 ip6 daddr 1.1.1.1 accept comment "# cf"
jump handle_reject
}
}
table inet tableB {
chain forward {
type filter hook forward priority filter; policy drop;
$RULE_A accept
jump handle_reject
}
}
8.8.8.8ã¸ã®forwardã許å¯ããä¾ã¨æå¦ããä¾ãåæã«å ¥ããã
ä¾ãã°ã8.8.8.8 ã¨ã®éä¿¡ã許å¯ï¼Acceptï¼ã¨æå¦ï¼Rejectï¼ãåæã«å
¥ããã¨ã©ããªãããè¦ã¦ã¿ããã
å
ã«çµæãè¿°ã¹ã¦ãã㨠accept & rejectã¤ã¾ããtrue & false ã¨ãªãçµæã¯falseï¼æå¦ã»REJECTï¼ã«ãªã
8.8.8.8 ãforward accept ãã
nft create table ip allow8888
nft create chain ip allow8888 forward { type filter hook forward priority filter\; policy drop\; }
nft add rule ip allow8888 forward iifname br0 oifname wan0 ip daddr 8.8.8.8 counter accept
nft list table ip allow8888
8.8.8.8 ãforward reject ãã
nft create table ip deny8888
nft create chain ip deny8888 forward { type filter hook forward priority filter\; policy accept\; }
nft add rule ip deny8888 forward iifname br0 oifname wan0 ip daddr 8.8.8.8 counter reject
nft list table ip deny8888
ãã±ããéãã¨reject(unreachable)ã«ãªã
PS C:\Users\takuya> ping 8.8.8.8 Pinging 8.8.8.8 with 32 bytes of data: Reply from 192.168.1.1: Destination port unreachable. Reply from 192.168.1.1: Destination port unreachable. Reply from 192.168.1.1: Destination port unreachable. Reply from 192.168.1.1: Destination port unreachable.
ã«ã¦ã³ã¿çµæã¯æ¬¡ã®ããã«ãªãã
table ip deny8888 {
chain forward {
type filter hook forward priority filter; policy drop;
iifname "br0" oifname "wan0" ip daddr 8.8.8.8 counter packets 8 bytes 520 reject
}
}
table ip allow8888 {
chain forward {
type filter hook forward priority filter; policy drop;
iifname "br0" oifname "wan0" ip daddr 8.8.8.8 counter packets 8 bytes 520 accept
}
}
ã«ã¦ã³ã¿çµæãè¦ãã¨ä¸ç®çç¶ã ãã両æ¹ã®ã«ã¦ã³ã¿ãåã£ã¦ãããããªãã¡ããã±ããã¯æ£ããå¦çããã¦ãããAcceptããããã¨ã«Rejectãè©ä¾¡ãããã®ã ã
ããã¯Priorityã ããã¨æãããããç¡ãããåªå 度ãå¤ãã¦ãçµæã¯åãã§ãããaccept ãå ã«å¦çããã¦ããã¨ããRejectãããããRejectãå ã«ããã¨Acceptã¾ã§å°éããªãã
ã¨ãããã¨ãªã®ã§ããããã¯ãããã«ã¼ã«ã®ç´åã«ã«ã¼ã«ãå·®ãè¾¼ãå¿ è¦ãããã
ã©ãããããããã ãnftablesãacceptç®æã®å ããããã ãAcceptã§ã¯ç§»è¡ãã¹ãããã§ããªããã æ¢ã¾ãããã ãã©ãããã°è¯ãã®ãã
ã¡ããã¨ãinsert ãã¦æå®å ´æã«çªã£è¾¼ãããç¡ãã
ããã©ããããã¨ãã®ä¸ãªãããã¡ããã¨ã«ã¼ã«ãINSERTãã¦æå®å ´æã«å·®ãè¾¼ãå¿ è¦ãããã
ããããã¨ãããã©ã¯forwardã«ã«ã¼ã«ãéä¸ãã¦ãã¾ããããã¦jump ãããããã«ã追ããããã®ãæ´ã«é¢åã«ãªãã
forwardãè¦ã¦ãjump ãjump jump jump ã®å¤æ®µJumpã大éã«è¨è¼ããããã¨ã«ãªããiptablesãã追ããããã®ãé¢åã«ãªãã»ã»ã»
å°ã£ã¡ããããnftables
jump 追ããããã®ãé¢åã
è¤æ°ãã¼ãã«ã¨è¤æ°ã®ãã§ã¤ã³ãããã®ã§ã追ãããã«ãããã©ãã§Dropããã¦ãã®ãã¯counterãå ¥ãã¦èª¿ã¹ããã¨ãã§ãããjump ããã§ jump ããã¦ãã¾ãã¨è³å ã¡ã¢ãªã追ãã¤ããªãã
ããããdrop ããã¦ããã«ã¼ã«ãåé¿ããã®ã¯ããã©ãããã
nftables test dump ã¿ãããªã³ãã³ããã»ãããã©ã®jumpãéã£ã¦ã©ãã«ããããã¦drop/rejectããã¦ãã®ã追ããããã®ã大å¤ã ãã
nft monitor trace
ä¸å¿ãnft monitor 㨠meta nftrace set 1 ã§è¿½ãããããã¨ãã§ããã®ã ãã
nft add chain inet fw4 filter { type filter hook prerouting priority -301\; }
nft add rule inet fw4 filter trace_chain meta nftrace set 1
nftace ããªããåããªããã§ããããã
Error: syntax error, unexpected meta add rule inet fw4 filter trace_chain meta nftrace set 1
ãããããããã«ã¼ãã«ã¢ã¸ã¥ã¼ã«ï¼ï¼
counterã§å°éã«è¿½ãããã¦ããã©å°çããã