рд╡рд┐рдХрд╛рд╕рд╛рдЪреНрдпрд╛ рдПрдХрд╛ рд╡рд░реНрд╖рд╛рдирдВрддрд░
рдХрд░реНрдирд▓ рд╕реНрддрд░ рдлрдХреНрдд рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░реЛрдЯреЛрдХреЙрд▓-рд╕реНрд╡рддрдВрддреНрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдкреНрд░рджрд╛рди рдХрд░рддреЛ рдЬреЛ рдкреЕрдХреЗрдЯреНрд╕рдордзреВрди рдбреЗрдЯрд╛ рдХрд╛рдврдгреНрдпрд╛рд╕рд╛рдареА, рдбреЗрдЯрд╛ рдСрдкрд░реЗрд╢рдиреНрд╕ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдкреНрд░рд╡рд╛рд╣ рдирд┐рдпрдВрддреНрд░рдгрд╛рд╕рд╛рдареА рдореВрд▓рднреВрдд рдХрд╛рд░реНрдпреЗ рдкреНрд░рджрд╛рди рдХрд░рддреЛ.
рдлрд┐рд▓реНрдЯрд░рд┐рдВрдЧ рд▓реЙрдЬрд┐рдХ рд╕реНрд╡рддрдГ рдЖрдгрд┐ рдкреНрд░реЛрдЯреЛрдХреЙрд▓-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣рдБрдбрд▓рд░реНрд╕ рдпреБрдЬрд░ рд╕реНрдкреЗрд╕рдордзреАрд▓ рдмрд╛рдпрдЯреЗрдХреЛрдбрдордзреНрдпреЗ рд╕рдВрдХрд▓рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддрд╛рдд, рддреНрдпрд╛рдирдВрддрд░ рд╣рд╛ рдмрд╛рдпрдХреЛрдб рдиреЗрдЯрд▓рд┐рдВрдХ рдЗрдВрдЯрд░рдлреЗрд╕ рд╡рд╛рдкрд░реВрди рдХрд░реНрдирд▓рдордзреНрдпреЗ рд▓реЛрдб рдХреЗрд▓рд╛ рдЬрд╛рддреЛ рдЖрдгрд┐ BPF (рдмрд░реНрдХрд▓реЗ рдкреЕрдХреЗрдЯ рдлрд┐рд▓реНрдЯрд░реНрд╕) рдЪреА рдЖрдард╡рдг рдХрд░реВрди рджреЗрдгрд╛рд░реНтАНрдпрд╛ рд╡рд┐рд╢реЗрд╖ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрдирдордзреНрдпреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ. рд╣рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрди рддреБрдореНрд╣рд╛рд▓рд╛ рдХрд░реНрдирд▓ рд╕реНрддрд░рд╛рд╡рд░ рдЪрд╛рд▓рдгрд╛рд░реНтАНрдпрд╛ рдлрд┐рд▓реНрдЯрд░рд┐рдВрдЧ рдХреЛрдбрдЪрд╛ рдЖрдХрд╛рд░ рд▓рдХреНрд╖рдгреАрдпрд░реАрддреНрдпрд╛ рдХрдореА рдХрд░рдгреНрдпрд╛рд╕ рдЖрдгрд┐ рдкреНрд░реЛрдЯреЛрдХреЙрд▓рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рд╕реНрдкреЗрд╕рдордзреНрдпреЗ рдирд┐рдпрдо рдЖрдгрд┐ рддрд░реНрдХрд╢рд╛рд╕реНрддреНрд░ рдкрд╛рд░реНрд╕рд┐рдВрдЧрдЪреА рд╕рд░реНрд╡ рдХрд╛рд░реНрдпреЗ рд╣рд▓рд╡рд┐рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЛ.
рдореБрдЦреНрдп рдирд╡рдХрд▓реНрдкрдирд╛:
- IPsec рд╕рдорд░реНрдерди, рдкреЕрдХреЗрдЯ, IPsec рд╡рд┐рдирдВрддреА рдЖрдпрдбреА рдЖрдгрд┐ SPI (рд╕реБрд░рдХреНрд╖рд╛ рдкреЕрд░рд╛рдореАрдЯрд░ рдЗрдВрдбреЗрдХреНрд╕) рдЯреЕрдЧрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдмреЛрдЧрджреНрдпрд╛рдЪреНрдпрд╛ рдкрддреНрддреНрдпрд╛рдВрдЪреА рдЬреБрд│рдгреА рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде,
... ipsec рдордзреНрдпреЗ ip sadr 192.168.1.0/24
... ipsec in spi 1-65536рдорд╛рд░реНрдЧ IPsec рдмреЛрдЧрджреНрдпрд╛рдордзреВрди рдЬрд╛рддреЛ рдХреА рдирд╛рд╣реА рд╣реЗ рддрдкрд╛рд╕рдгреЗ рджреЗрдЦреАрд▓ рд╢рдХреНрдп рдЖрд╣реЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, IPSec рдорд╛рд░реНрдЧреЗ рди рд░рд╣рджрд╛рд░реА рдЕрд╡рд░реЛрдзрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА:
тАж рдлрд┐рд▓реНрдЯрд░ рдЖрдЙрдЯрдкреБрдЯ rt ipsec рдЧрд╣рд╛рд│ рдбреНрд░реЙрдк
- IGMP (рдЗрдВрдЯрд░рдиреЗрдЯ рдЧреНрд░реБрдк рдореЕрдиреЗрдЬрдореЗрдВрдЯ рдкреНрд░реЛрдЯреЛрдХреЙрд▓) рд╕рд╛рдареА рд╕рдорд░реНрдерди. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рддреБрдореНрд╣реА рдпреЗрдгрд╛рд░реНтАНрдпрд╛ IGMP рдЧрдЯ рд╕рджрд╕реНрдпрддреНрд╡ рд╡рд┐рдирдВрддреНрдпрд╛ рдЯрд╛рдХреВрди рджреЗрдгреНрдпрд╛рд╕рд╛рдареА рдирд┐рдпрдо рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛
nft рдЬреЛрдбрд╛ рдирд┐рдпрдо netdev foo рдмрд╛рд░ igmp рдкреНрд░рдХрд╛рд░ рд╕рджрд╕реНрдпрддреНрд╡-рдХреНрд╡реЗрд░реА рдХрд╛рдЙрдВрдЯрд░ рдбреНрд░реЙрдк
- рд╕рдВрдХреНрд░рдордг рд╕рд╛рдЦрд│реА (рдЬрдВрдк / рдЧреЛрдЯреЛ) рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рд╢рдХреНрдпрддрд╛. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде:
dest = ber рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рд╛
рдирд┐рдпрдо ip foo рдмрд╛рд░ рдЬрдВрдк $dest рдЬреЛрдбрд╛ - рд╣реЗрдбрд░рдордзреАрд▓ TTL рдореВрд▓реНрдпрд╛рдВрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо (OS рдлрд┐рдВрдЧрд░рдкреНрд░рд┐рдВрдЯ) рдУрд│рдЦрдгреНрдпрд╛рд╕рд╛рдареА рдорд╛рд╕реНрдХрд╕рд╛рдареА рд╕рдорд░реНрдерди. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдкреНрд░реЗрд╖рдХ OS рд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдкреЕрдХреЗрдЯ рдЪрд┐рдиреНрд╣рд╛рдВрдХрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣реА рдХрдорд╛рдВрдб рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛:
... рдореЗрдЯрд╛ рдорд╛рд░реНрдХ рд╕реЗрдЯ osf ttl рд╡рдЧрд│рд╛ рдирд╛рд╡ рдирдХрд╛рд╢рд╛ { "Linux" : 0x1,
"рд╡рд┐рдВрдбреЛрдЬ": 0x2,
"MacOS": 0x3,
"рдЕрдЬреНрдЮрд╛рдд" : 0x0 }
... osf ttl рд╡рдЧрд│рд╛ рдЖрд╡реГрддреНрддреА "Linux:4.20" - рдкреНрд░реЗрд╖рдХрд╛рдЪрд╛ ARP рдкрддреНрддрд╛ рдЖрдгрд┐ рд▓рдХреНрд╖реНрдп рдкреНрд░рдгрд╛рд▓реАрдЪрд╛ IPv4 рдкрддреНрддрд╛ рдЬреБрд│рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, 192.168.2.1 рдкрддреНрддреНрдпрд╛рд╡рд░реВрди рдкрд╛рдард╡рд▓реЗрд▓реНрдпрд╛ ARP рдкреЕрдХреЗрдЯреНрд╕рдЪреЗ рдХрд╛рдЙрдВрдЯрд░ рд╡рд╛рдврд╡рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣реА рдЦрд╛рд▓реАрд▓ рдирд┐рдпрдо рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛:
рдЯреЗрдмрд▓ arp x {
рд╕рд╛рдЦрд│реА y {
рдлрд┐рд▓реНрдЯрд░ рд╣реБрдХ рдЗрдирдкреБрдЯ рдкреНрд░рд╛рдзрд╛рдиреНрдп рдлрд┐рд▓реНрдЯрд░ рдЯрд╛рдЗрдк рдХрд░рд╛; рдзреЛрд░рдг рд╕реНрд╡реАрдХрд╛рд░рдгреЗ;
arp saddr ip 192.168.2.1 рдХрд╛рдЙрдВрдЯрд░ рдкреЕрдХреЗрдЯ 1 рдмрд╛рдЗрдЯреНрд╕ 46
}
} - рдкреНрд░реЙрдХреНрд╕реА (tproxy) рджреНрд╡рд╛рд░реЗ рд╡рд┐рдирдВрддреНрдпрд╛ рдкрд╛рд░рджрд░реНрд╢рдХ рдЕрдЧреНрд░реЗрд╖рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рдорд░реНрдерди. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдкреЛрд░реНрдЯ 80 рд╡рд░ рдХреЙрд▓ рдкреНрд░реЙрдХреНрд╕реА рдкреЛрд░реНрдЯ 8080 рд╡рд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА:
рдЯреЗрдмрд▓ ip x {
рд╕рд╛рдЦрд│реА y {
рдкреНрд░рдХрд╛рд░ рдлрд┐рд▓реНрдЯрд░ рд╣реБрдХ рдкреНрд░реАрд░реВрдЯрд┐рдВрдЧ рдкреНрд░рд╛рдзрд╛рдиреНрдп -150; рдзреЛрд░рдг рд╕реНрд╡реАрдХрд╛рд░рдгреЗ;
tcp dport 80 tproxy to :8080
}
} - SO_MARK рдореЛрдбрдордзреНрдпреЗ setsockopt() рджреНрд╡рд╛рд░реЗ рд╕реЗрдЯ рдорд╛рд░реНрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдХреНрд╖рдорддреЗрд╕рд╣ рд╕реЙрдХреЗрдЯ рдЪрд┐рдиреНрд╣рд╛рдВрдХрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рдорд░реНрдерди. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде:
рдЯреЗрдмрд▓ inet x {
рд╕рд╛рдЦрд│реА y {
рдкреНрд░рдХрд╛рд░ рдлрд┐рд▓реНрдЯрд░ рд╣реБрдХ рдкреНрд░реАрд░реВрдЯрд┐рдВрдЧ рдкреНрд░рд╛рдзрд╛рдиреНрдп -150; рдзреЛрд░рдг рд╕реНрд╡реАрдХрд╛рд░рдгреЗ;
tcp dport 8080 рдорд╛рд░реНрдХ рд╕реЗрдЯ рд╕реЙрдХреЗрдЯ рдорд╛рд░реНрдХ
}
} - рд╕рд╛рдЦрд│реАрдВрд╕рд╛рдареА рдкреНрд░рд╛рдзрд╛рдиреНрдп рдордЬрдХреВрд░ рдирд╛рд╡реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕рдорд░реНрдерди. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде:
nft рд╕рд╛рдЦрд│реА рдЬреЛрдбрд╛ ip x raw { рдЯрд╛рдИрдк рдлрд┐рд▓реНрдЯрд░ рд╣реБрдХ рдкреНрд░реАрд░реВрдЯрд┐рдВрдЧ рдкреНрд░рд╛рдпреЙрд░рд┐рдЯреА рд░реЙ; }
nft рдЪреЗрди ip x рдлрд┐рд▓реНрдЯрд░ рдЬреЛрдбрд╛ { рдЯрд╛рдИрдк рдлрд┐рд▓реНрдЯрд░ рд╣реБрдХ рдкреНрд░реАрд░реВрдЯрд┐рдВрдЧ рдкреНрд░рд╛рдпреЛрд░рд┐рдЯреА рдлрд┐рд▓реНрдЯрд░; }
nft рдЪреЗрди рдЬреЛрдбрд╛ ip x filter_later { рдЯрд╛рдИрдк рдлрд┐рд▓реНрдЯрд░ рд╣реБрдХ рдкреНрд░реАрд░реВрдЯрд┐рдВрдЧ рдкреНрд░рд╛рдпреЛрд░рд┐рдЯреА рдлрд┐рд▓реНрдЯрд░ + 10; } - SELinux рдЯреЕрдЧрд╕рд╛рдареА рд╕рдорд░реНрдерди (рд╕реЗрдХрдорд╛рд░реНрдХ). рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, SELinux рд╕рдВрджрд░реНрднрд╛рдд "sshtag" рдЯреЕрдЧ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣реА рдЪрд╛рд▓рд╡реВ рд╢рдХрддрд╛:
nft secmark inet рдлрд┐рд▓реНрдЯрд░ sshtag "system_u:object_r:ssh_server_packet_t:s0" рдЬреЛрдбрд╛
рдЖрдгрд┐ рдирдВрддрд░ рд╣реЗ рд▓реЗрдмрд▓ рдирд┐рдпрдорд╛рдВрдордзреНрдпреЗ рд╡рд╛рдкрд░рд╛:
nft рдЬреЛрдбрд╛ рдирд┐рдпрдо inet рдлрд┐рд▓реНрдЯрд░ рдЗрдирдкреБрдЯ tcp dport 22 рдореЗрдЯрд╛ рд╕реЗрдХрдорд╛рд░реНрдХ рд╕реЗрдЯ "sshtag"
рдПрдирдПрдлрдЯреА рдореЕрдк рдЗрдиреЗрдЯ рдлрд┐рд▓реНрдЯрд░ рд╕реЗрдХрдореЕрдкрд┐рдВрдЧ рдЬреЛрдбрд╛ { рдкреНрд░рдХрд╛рд░ inet_service : secmark; }
рдПрдирдПрдлрдЯреА рдНрдб рдПрд▓рд┐рдореЗрдВрдЯ рдЗрдиреЗрдЯ рдлрд┐рд▓реНрдЯрд░ рд╕реЗрдХрдореЕрдкрд┐рдВрдЧ { 22 : "sshtag" }
nft рдЬреЛрдбрд╛ рдирд┐рдпрдо inet рдлрд┐рд▓реНрдЯрд░ рдЗрдирдкреБрдЯ рдореЗрдЯрд╛ secmark рд╕реЗрдЯ tcp dport рдирдХрд╛рд╢рд╛ @secmapping - рдордЬрдХреВрд░ рд╕реНрд╡рд░реВрдкрд╛рдд рдкреНрд░реЛрдЯреЛрдХреЙрд▓рд▓рд╛ рдирд┐рдпреБрдХреНрдд рдХреЗрд▓реЗрд▓реЗ рдкреЛрд░реНрдЯ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛, рдЬрд╕реЗ рдХреА рддреЗ /etc/services рдлрд╛рдЗрд▓рдордзреНрдпреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗрдд. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде:
nft рдирд┐рдпрдо xy tcp dport "ssh" рдЬреЛрдбрд╛
nft рдпрд╛рджреА рдирд┐рдпрдорд╕реЗрдЯ -l
рдЯреЗрдмрд▓ x {
рд╕рд╛рдЦрд│реА y {
...
tcp dport "ssh"
}
} - рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлреЗрд╕рдЪрд╛ рдкреНрд░рдХрд╛рд░ рддрдкрд╛рд╕рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде:
рдирд┐рдпрдо inet raw prerouting meta iifkind "vrf" рд╕реНрд╡реАрдХрд╛рд░рд╛
- "рдбрд╛рдпрдиреЕрдорд┐рдХ" рдзреНрд╡рдЬ рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реВрди рд╕реЗрдЯрдЪреА рд╕рд╛рдордЧреНрд░реА рдЧрддрд┐рд╢реАрд▓рдкрдгреЗ рдЕрджреНрдпрддрдирд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╕реБрдзрд╛рд░рд┐рдд рд╕рдорд░реНрдерди. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╕реНрддреНрд░реЛрдд рдкрддреНрддрд╛ рдЬреЛрдбрдгреНрдпрд╛рд╕рд╛рдареА рд╕реЗрдЯ "s" рдЕрджреНрдпрддрдирд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ 30 рд╕реЗрдХрдВрджрд╛рдВрд╕рд╛рдареА рдкреЕрдХреЗрдЯ рдирд╕рд▓реНрдпрд╛рд╕ рдПрдВрдЯреНрд░реА рд░реАрд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА:
рдЯреЗрдмрд▓ x рдЬреЛрдбрд╛
рд╕реЗрдЯ xs рдЬреЛрдбрд╛ { type ipv4_addr; рдЖрдХрд╛рд░ 128; рдХрд╛рд▓рдмрд╛рд╣реНрдп 30s; рдзреНрд╡рдЬ рдбрд╛рдпрдиреЕрдорд┐рдХ; }
рдЪреЗрди xy рдЬреЛрдбрд╛ { рдЯрд╛рдИрдк рдлрд┐рд▓реНрдЯрд░ рд╣реБрдХ рдЗрдирдкреБрдЯ рдкреНрд░рд╛рдпреЙрд░рд┐рдЯреА 0; }
рдирд┐рдпрдо xy рдЕрдкрдбреЗрдЯ @s { ip saddr } рдЬреЛрдбрд╛ - рд╕реНрд╡рддрдВрддреНрд░ рдХрд╛рд▓рдмрд╛рд╣реНрдп рд╕реНрдерд┐рддреА рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдкреЛрд░реНрдЯ 8888 рд╡рд░ рдпреЗрдгрд╛рд░реНтАНрдпрд╛ рдкреЕрдХреЗрдЯрд╕рд╛рдареА рдбреАрдлреЙрд▓реНрдЯ рдЯрд╛рдЗрдордЖрдЙрдЯ рдУрд╡реНрд╣рд░рд░рд╛рдЗрдб рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣реА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реВ рд╢рдХрддрд╛:
рдЯреЗрдмрд▓ рдЖрдпрдкреА рдлрд┐рд▓реНрдЯрд░ {
ct рдХрд╛рд▓рдмрд╛рд╣реНрдп рдЖрдХреНрд░рдордХ-tcp {
рдкреНрд░реЛрдЯреЛрдХреЙрд▓ tcp;
l3proto ip;
рдкреЙрд▓рд┐рд╕реА = {рд╕реНрдерд╛рдкрд┐рдд: 100, рдмрдВрдж_рдкреНрд░рддреАрдХреНрд╖рд╛: 4, рдмрдВрдж рдХрд░рд╛: 4}
}
рд╕рд╛рдЦрд│реА рдЖрдЙрдЯрдкреБрдЯ {
...
tcp dport 8888 ct рдХрд╛рд▓рдмрд╛рд╣реНрдп рд╕реЗрдЯ "рдЖрдХреНрд░рдордХ-tcp"
}
} - рдиреЗрдЯ рдХреБрдЯреБрдВрдмрд╛рд╕рд╛рдареА NAT рд╕рдорд░реНрдерди:
рдЯреЗрдмрд▓ inet nat {
...
ip6 daddr dead::2::1 dnat to dead:2::99
} - рд╕реБрдзрд╛рд░рд┐рдд рдЯрд╛рдпрдкреЛ рддреНрд░реБрдЯреА рдЕрд╣рд╡рд╛рд▓:
рдПрдирдПрдлрдЯреА рдНрдб рдЪреЗрди рдлрд┐рд▓реНрдЯрд░ рдЪрд╛рдЪрдгреА
рддреНрд░реБрдЯреА: рдЕрд╢реА рдХреЛрдгрддреАрд╣реА рдлрд╛рдЗрд▓ рдХрд┐рдВрд╡рд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд╛рд╣реА; рддреБрдореНрд╣рд╛рд▓рд╛ рдлреЕрдорд┐рд▓реА рдЖрдпрдкреА рдордзреАрд▓ рдЯреЗрдмрд▓ "рдлрд┐рд▓реНрдЯрд░" рдореНрд╣рдгрд╛рдпрдЪреЗ рдЖрд╣реЗ рдХрд╛?
рд╕рд╛рдЦрд│реА рдлрд┐рд▓реНрдЯрд░ рдЪрд╛рдЪрдгреА рдЬреЛрдбрд╛
^^^^^^ - рд╕реЗрдЯрдордзреНрдпреЗ рдЗрдВрдЯрд░рдлреЗрд╕ рдирд╛рд╡реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛:
рд╕реЗрдЯ sc {
inet_service рдЯрд╛рдЗрдк рдХрд░рд╛. ifname
рдШрдЯрдХ = { "ssh" . "eth0" }
} - рдЕрджреНрдпрддрдирд┐рдд рдлреНрд▓реЛрдЯреЗрдмрд▓ рдирд┐рдпрдо рд╡рд╛рдХреНрдпрд░рдЪрдирд╛:
nft рдЯреЗрдмрд▓ x рдЬреЛрдбрд╛
nft рдЬреЛрдбрд╛ рдлреНрд▓реЛрдЯреЗрдмрд▓ x рдлреВрдЯ { рд╣реБрдХ рдкреНрд░рд╡реЗрд╢ рдкреНрд░рд╛рдзрд╛рдиреНрдп 0; рдЙрдкрдХрд░рдгреЗ = { eth0, wlan0 }; }
...
nft рдЬреЛрдбрд╛ рдирд┐рдпрдо x рдлреЙрд░рд╡рд░реНрдб ip рдкреНрд░реЛрдЯреЛрдХреЙрд▓ { tcp, udp } рдкреНрд░рд╡рд╛рд╣ рдЬреЛрдбрд╛ @ft - рд╕реБрдзрд╛рд░рд┐рдд JSON рд╕рдорд░реНрдерди.
рд╕реНрддреНрд░реЛрдд: opennet.ru