nftables netlink получить: нет такого файла или каталога
Когда я использую новую таблицу для предварительной маршрутизации, не вижу ошибки. Но в одной таблице произойдет ошибка. Прежде чем добавить набор фильтров в таблицу. Я добавляю конфигурацию цепочки предварительной маршрутизации изnftables_test.go
из github.com/google/nftables v0.0.0-20200316075819-7127d9d22474
. Конфигурация цепочки вроде:
Hooknum: nftables.ChainHookPrerouting,
Priority: nftables.ChainPriorityFilter,
Table: trans,
Type: nftables.ChainTypeNAT,
Конфигурация exprs:
&expr.Meta{Key: expr.MetaKeyIIFNAME, Register: 1},
&expr.Cmp{
Op: expr.CmpOpEq,
Register: 1,
Data: ifname(networkCard),
},
&expr.Meta{Key: expr.MetaKeyL4PROTO, Register: 1},
&expr.Cmp{
Op: expr.CmpOpEq,
Register: 1,
Data: []byte{unix.IPPROTO_TCP},
},
&expr.Payload{
DestRegister: 1,
Base: expr.PayloadBaseTransportHeader,
Offset: 32,
Len: 128,
},
&expr.Cmp{
Op: expr.CmpOpEq,
Register: 1,
Data: binaryutil.BigEndian.PutUint16(rPort),
},
&expr.Immediate{
Register: 1,
Data: net.ParseIP(dIP).To4(),
},
&expr.Immediate{
Register: 2,
Data: binaryutil.BigEndian.PutUint16(dPort),
},
&expr.NAT{
Type: expr.NATTypeDestNAT,
Family: unix.NFPROTO_IPV4,
RegAddrMin: 1,
RegProtoMin: 2,
}