Às deidh bliadhna de leasachadh
Chan eil an ìre kernel a’ toirt seachad ach eadar-aghaidh coitcheann neo-eisimeileach pròtacal a bheir seachad gnìomhan bunaiteach airson dàta a tharraing à pacaidean, coileanadh gnìomhachd dàta, agus smachd sruthadh.
Tha an loidsig sìoltachaidh fhèin agus luchd-làimhseachaidh protocol-sònraichte air an cur ri chèile ann am bytecode ann an àite luchd-cleachdaidh, às deidh sin tha am bytecode seo air a luchdachadh a-steach don kernel a ’cleachdadh eadar-aghaidh Netlink agus air a chuir gu bàs ann an inneal brìgheil sònraichte a tha coltach ri BPF (Berkeley Packet Filters). Leigidh an dòigh-obrach seo leat meud a’ chòd sìoltachaidh a tha a’ ruith aig ìre kernel a lughdachadh gu mòr agus a h-uile gnìomh de riaghailtean parsaidh agus loidsig airson obrachadh le protocolaidhean a ghluasad gu àite luchd-cleachdaidh.
Prìomh innleachdan:
- Taic IPsec, a’ ceadachadh seòlaidhean tunail a mhaidseadh stèidhichte air pacaid, ID iarrtas IPsec, agus tag SPI (Clàr Parameter Tèarainteachd). Mar eisimpleir,
... ipsec ann an ip saddr 192.168.1.0/24
... ipsec ann an spi 1-65536Tha e comasach cuideachd dearbhadh a bheil slighe a’ dol tro thunail IPsec. Mar eisimpleir, gus trafaic a bhacadh nach eil tro IPSec:
… sìoltachan toradh rt ipsec tuiteam a dhìth
- Taic airson IGMP (Pròtacal Riaghladh Buidhne Eadar-lìn). Mar eisimpleir, faodaidh tu riaghailt a chleachdadh gus iarrtasan ballrachd buidhne IGMP a tha a’ tighinn a-steach a dhubhadh às
nft cuir riaghailt netdev foo bar igmp seòrsa ballrachd - ceist counter drop
- Comasach air caochladairean a chleachdadh gus slabhraidhean gluasaid a mhìneachadh (leum / goto). Mar eisimpleir:
mìneachadh dest = ber
cuir riaghailt ip foo bar jump $dest - Taic airson masgaichean gus siostaman obrachaidh a chomharrachadh (OS Meòir-lorg) stèidhichte air luachan TTL anns a’ cheann-cinn. Mar eisimpleir, gus pacaidean a chomharrachadh stèidhichte air an OS a chuir thu, faodaidh tu an àithne a chleachdadh:
... meta comharra seata osf ttl skip ainm mapa { "Linux" : 0x1,
"Windows": 0x2,
"MacOS": 0x3,
"neo-aithnichte" : 0x0 }
... osf ttl skip tionndadh "Linux: 4.20" - Comas seòladh ARP an neach a chuir agus seòladh IPv4 an t-siostam targaid a mhaidseadh. Mar eisimpleir, gus an àireamh de phacaidean ARP a chuirear bhon t-seòladh 192.168.2.1 a mheudachadh, faodaidh tu an riaghailt a chleachdadh:
bòrd arp x {
slabhraidh y {
seòrsa criathrag cuir a-steach dubhan prìomhachais; gabhail ri poileasaidh;
arp saddr ip 192.168.2.1 pacaidean cunntais 1 bytes 46
}
} - Taic airson iarrtasan a chuir air adhart gu follaiseach tro neach-ionaid (tproxy). Mar eisimpleir, gus fiosan ath-stiùireadh gu port 80 gu port proxy 8080:
clàr ip x {
slabhraidh y {
seòrsa dubhan sìoltachain prerouting prìomhachas -150; gabhail ri poileasaidh;
tcp dport 80 tproxy gu: 8080
}
} - Taic airson socaidean a chomharrachadh le comas an comharra suidhichte fhaighinn tuilleadh tro setsockopt () ann am modh SO_MARK. Mar eisimpleir:
clàr inet x {
slabhraidh y {
seòrsa dubhan sìoltachain prerouting prìomhachas -150; gabhail ri poileasaidh;
tcp dport 8080 comharra seata socaid comharra
}
} - Taic airson ainmean teacsa prìomhachais a shònrachadh airson slabhraidhean. Mar eisimpleir:
nft cuir slabhraidh ip x raw {seòrsa dubhan sìoltachain ro-làimh prìomhachais amh; }
nft cuir slabhraidh ip x criathrag {seòrsa dubhan sìoltachain ro-làimh sìoltachan prìomhachais; }
nft cuir slabhraidh ip x filter_later { seòrsa dubhan sìoltachain ro-làimh sìoltachan prìomhachais + 10; } - Taic airson tagaichean SELinux (Secmark). Mar eisimpleir, gus an taga “sshtag” a mhìneachadh ann an co-theacs SELinux, faodaidh tu ruith:
nft cuir sìoltachan inet secmark sshtag "system_u:object_r: ssh_server_packet_t: s0"
Agus an uairsin cleachd an leubail seo anns na riaghailtean:
nft cuir a-steach riaghailt inet filter cuir a-steach tcp dport 22 meta secmark seata “sshtag”
nft cuir mapa criathrag inet secmapping { seòrsa inet_service : secmark; }
nft cuir eileamaid criathrag inet secmapping { 22 : "sshtag" }
nft cuir a-steach riaghailt inet filter meta secmark seata tcp dport map @secmapping - Comas puirt a shònrachadh do phròtacalan ann an cruth teacsa, mar a tha iad air am mìneachadh anns an fhaidhle /etc/services. Mar eisimpleir:
nft cuir riaghailt x y tcp dport "ssh"
nft liosta riaghailtean -l
clàr x {
slabhraidh y {
...
tcp dport "ssh"
}
} - Comas sgrùdadh a dhèanamh air an t-seòrsa eadar-aghaidh lìonra. Mar eisimpleir:
cuir ris an riaghailt inet raw prerouting meta iifkind "vrf" gabhail ris
- Taic nas fheàrr airson a bhith ag ùrachadh susbaint sheataichean le bhith a’ sònrachadh gu soilleir a’ bhratach “fiùghantach”. Mar eisimpleir, gus seata “s” ùrachadh gus an seòladh stòr a chuir ris agus ath-shuidheachadh an inntrig mura h-eil pacaidean ann airson 30 diog:
cuir clàr x
cuir seata x s {seòrsa ipv4_addr; meud 128; ùine-ama 30s; brataichean fiùghantach; }
cuir slabhraidh x y { seòrsa cuir a-steach dubhan sìoltachain prìomhachas 0; }
cuir riaghailt x y update @s { ip saddr } - Comas suidheachadh ùine fa leth a shuidheachadh. Mar eisimpleir, gus faighinn thairis air an ùine bunaiteach airson pacaidean a thig gu port 8888, faodaidh tu sònrachadh:
sìoltachan ip clàr {
ùine ct ionnsaigheach-tcp {
protocol tcp;
l3 proto ip;
poileasaidh = {stèidhichte: 100, close_wait: 4, dùin: 4}
}
toradh slabhraidh {
...
clàr-ama tcp dport 8888 ct seata “ionnsaigheach-tcp”
}
} - Taic NAT airson teaghlach neo-dhìreach:
clàr inet nat {
...
ip6 daddr marbh ::2::1 dnat gu marbh:2::99
} - Aithris mearachd typo nas fheàrr:
nft cuir deuchainn sìoltachain slabhraidh ris
Mearachd: Chan eil faidhle no eòlaire mar sin ann; an robh thu a’ ciallachadh clàr “filter” ann an ip teaghlaich?
cuir deuchainn sìoltachain slabhraidh ris
^^^^^^ - Comas ainmean eadar-aghaidh a shònrachadh ann an seataichean:
suidhich sc {
seòrsa inet_service . mas ainm
eileamaidean = { "ssh". "eth0" }
} - Co-chòrdadh riaghailtean flowtable ùraichte:
nft cuir clàr x
nft cuir clàr-sruth x ft { dubhan a-steach prìomhachas 0; innealan = { eth0, wlan0 }; }
...
nft cuir riaghailt x air adhart ip protocol { tcp, udp } sruthadh cuir @ft - Taic JSON nas fheàrr.
Source: fosgailtenet.ru