áááŒá¬áá±ážáá®á áá»áœááºá¯ááºááẠMetalLB á¡ááœáẠáááºážááŒá±á¬ááºážáááºááŸááºááŒááºážá¡ááœáẠá¡ááœááºáá°ážááŒá¬ážáá±á¬ á¡áá¯ááºáá
áºáá¯ááŸáá·áº áááºááá¯ááºáá²á·ááááºá á¡á¬ážáá¯á¶ážá¡áááºááŒá±ááœá¬ážááŸá¬ááá¯á·... á¡áá»á¬ážá¡á¬ážááŒáá·áº MetalLB ááẠáá±á¬ááºáááºáá¯ááºáá±á¬ááºááŸá¯áá»á¬áž áááá¯á¡ááºáá±á¬áºáááºážá áá»áœááºá¯ááºááá¯á·ááœáẠá¡ááœááºááá¯ážááŸááºážáá±á¬ ááœááºáááºááœá²á·á
ááºážááŸá¯áá¯á¶á
á¶ááŒáá·áº á¡áá±á¬áºáá±ážááŒá®ážáá¬ážáá±á¬ á¡á
á¯á¡áá±ážáá
áºáá¯ááŸááááºá
á€áá±á¬ááºážáá«ážááœáẠááá·áºá¡á á¯á¡áá±ážá ááŒááºáááœááºáááºá¡ááœáẠáááºážááŒá áºá¡ááŒá±áá¶ááŸáá·áº áá°áá«áá¡ááŒá±áá¶áááºážááŒá±á¬ááºážááᯠáááºááá¯á·á á®á ááºáááºááŸááºááááºááᯠáá»áœááºá¯ááºááŒá±á¬ááŒáá«áááºá
ááá·áºááœáẠá¡ááœá±á·á¡ááŒá¯á¶á¡áá»áá¯á·ááŸááá±ááŒá®áᯠáá»áœááºá¯ááºáá°ááá±á¬ááŒá±á¬áá·áº MetalLB áááºáááºááŒááºážááŸáá·áº configure ááŸáá·áºáááºáááºááŒá®áž á¡áá±ážá áááºá¡áá»ááºá¡áááºáá»á¬ážááᯠáá»áœááºá¯ááºááŒá±á¬áááºááá¯ááºáá«á áááºážááŒá±á¬ááºážáááºááŸááºááŒááºážááᯠááá·áºááá·áºááœá¬ážáá«ááá¯á· á¡ááŒá¶ááŒá¯áá»ááºáá«áááºá ááá¯á·ááŒá±á¬áá·áº áá»áœááºá¯ááºááá¯á·ááœáẠá¡ááŸá¯áá±ážáá¯ááŸááááºá
Case 1- ááœá²á·á ááºážááŸá¯áá¯á¶á á¶áááá¯á¡ááºááá·áºá¡áá«
ááá¯ážááŸááºážáá²á· ááá á¹á áá áºáá¯ááᯠááŒáá·áºáá¡á±á¬ááºá
MetalLB ááŸáá¯ááºáá±ážáá±á¬ááááºá á¬áá»á¬ážááẠááá·áº nodes áá»á¬ážáááááºá á¬áá»á¬ážáá²á·ááá¯á· áá°áá®áá±á¬ subnet ááœááºááŸááá±áá±á¬á¡áá«ááœáẠáááºáá±á¬ááºážáááºážááŒá±á¬ááºážáááºááŸááºááŸá¯áá¯á¶á á¶ááá¯áááá¯á¡ááºáá«á
á¥ááá¬á¡á¬ážááŒáá·áºá ááá·áºááœáẠsubnet áá
áºáá¯ááŸááááºá 192.168.1.0/24
Router áá«ááŸááááºá 192.168.1.1
ááŸáá·áº ááá·áº node áá»á¬ážááẠááááºá
á¬áá»á¬ážááᯠáááºáá¶áááŸááááº- 192.168.1.10-30
ááá¯á·áá±á¬áẠMetalLB á¡ááœáẠá¡ááá¯ááºážá¡ááŒá¬ážááᯠáá»áááºááŸáááá¯ááºáááºá 192.168.1.100-120
ááá¯á·á¡ááŒáẠáááºážááá¯á·ááẠáááºáá±á¬ááºážááœá²á·á
ááºážááŸá¯ááá«áá² áá¯ááºáá±á¬ááºááá¯ááºáááºááŒá
áºááŒá±á¬ááºáž áá±áá»á¬áá«á
á±á
á¡á²áá®ááá¯á·áá¬ááŒá áºááá¯á·? ááá·áº node áá»á¬ážááœáẠáááºážááŒá±á¬ááºážáá»á¬áž á á®á ááºáá±ážáá¬ážááŒá®ážááŒá áºáá±á¬ááŒá±á¬áá·áº-
# ip route
default via 192.168.1.1 dev eth0 onlink
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.10
ááá¯á·á¡ááŒáẠáá°áá®áá±á¬á¡ááœá¬á¡áá±ážá០ááááºá á¬áá»á¬ážááẠáááºážááá¯á·ááᯠáááºáá±á¬ááºážáá¯ááºáá±á¬ááºááŸá¯áá»á¬ážáááŸááá² áááºážááá¯á·ááᯠááŒááºáááºá¡áá¯á¶ážááŒá¯áááºááŒá áºáááºá
Case 2- áá±á¬ááºááẠá áááºááŒáá¯ááºááŒááºáááºááŸá¯ ááá¯á¡ááºááá·áºá¡áá«
MetalLB ááŸáá¯ááºáá±ážáá±á¬ ááááºá á¬áá±ážáá±á¬ ááœááºáááºááœá²ááá¯á· áááºážááŒá±á¬ááºážáááºááŸááºáá¬ážáá±á¬ IP ááááºá ᬠááá¯á·ááá¯áẠááá·áº node áá»á¬ážááœáẠá¡ááá¯áááºážááŒá±á¬ááºážáá»á¬áž áááŸáááá·áºá¡áá«ááá¯ááºáž áááºááẠáááºáá±á¬ááºážáááºážááŒá±á¬ááºážáá»á¬ážááᯠááŒááºáááºáááºááŸááºááá·áºáááºá
áááºážáááºážá¡áá±ážá áááºááŸááºážááŒáá«á·áááºá MetalLB ááẠááááºá á¬áá áºáá¯áá¯ááºáá±ážááá·áºá¡áá«ááá¯ááºážá áááºážááᯠááá¯ážááŸááºážáá±á¬áá¬áááºááŸáá·áº ááŸáá¯ááºážááŸááºááá¯ááºáááºá
ip addr add 10.9.8.7/32 dev lo
á¡á¬áá¯á¶á áá¯ááºáá«-
- a) ááááºá
á¬ááᯠááŸá±á·áááºáá
áºáá¯ááŒáá·áº áááºááŸááºáá±ážáá¬ážáááºá
/32
ááá¯ááá¯áááºááŸá¬á áááºážá¡ááœáẠáááºážááŒá±á¬ááºážáá áºáá¯á¡á¬áž subnet ááá¯á· á¡ááá¯á¡áá»á±á¬áẠááá·áºáááºááá¯ááºáá« (áááºážááẠááááºá á¬áá áºáá¯áá¬ááŒá áºáááº) - b) ááááºá á¬ááẠáááºááá·áº node interface ááŸáá·áºáááᯠááœá²áá¬ážááẠ(á¥ááᬠloopback)á á€áá±áá¬ááœáẠLinux network stack áá¡ááºá¹áá«áááºáá»á¬ážááá¯áá±á¬áºááŒááá»áá¯ážáááºáááºá áááºááá·áº ááááºá á¬ááᯠáááºááá·áºááœááºážáá¬ážáá«á á±á kernel ááẠarp áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠá¡ááŒá²áááºážáá¯ááºáá±á¬ááºááŒá®áž áááºážááá¯á·áá²á០áá áºáá¯áá¯ááᯠarp áá¯á¶á·ááŒááºááŸá¯áá»á¬ážááᯠáá±ážááá¯á·áááá·áºáááºá á€á¡ááŒá¯á¡áá°ááẠááŸááºáááºáááºáᯠáá°ááááŒá®ážá ááá¯á·á¡ááŒáẠKubernetes áá²á·ááá¯á· áááºááŒáœáá±á¬áááºáááºážáá»ááºááœáẠá¡áá±á¬áºáá±ážááᯠááœááºáá»ááºá áœá¬ á¡áá¯á¶ážááŒá¯áá«áááºá
áááºážáá»ááºáá±á¬ arp ááá¯ááœáá·áºááŒááºážááŒáá·áº á€á¡ááŒá¯á¡áá°ááᯠá áááºááŒáá¯ááºááŒááºáááºááá¯ááºáááºá
echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
á€ááá á¹á ááœááºá á¡ááºáá¬áá±á·á áºááœáẠáá®ážááŒá¬áž IP ááááºá á¬áá áºáᯠááŒááºáá¬ážá áœá¬áá«ááŸáááŸáᬠarp áá¯á¶á·ááŒááºááŸá¯áá»á¬ážááᯠáá±ážááá¯á·áááºááŒá áºáááºá áááºááẠMetalLB ááá¯á¡áá¯á¶ážááŒá¯áááºá á®á ááºáá¬ážááŒá®áž ááá·áº kube-proxy ááᯠIPVS áá¯ááºááœáẠáá¯ááºáá±á¬ááºáá±áá«á á€áááºáááºááᯠááá¯á¡ááºáá«áááºá
ááá¯á·áá±á¬áºáááºáž MetalLB ááẠarp áá±á¬ááºážááá¯ááŸá¯áá»á¬ážááᯠáá¯ááºáá±á¬ááºááẠkernel ááᯠá¡áá¯á¶ážáááŒá¯áá±á¬áºáááºáž áááºážááᯠuser-space ááœáẠááá¯ááºááá¯ááºáá¯ááºáá±á¬ááºáá±á¬ááŒá±á¬áá·áºá á€ááœá±ážáá»ááºááŸá¯ááẠMetalLB á áá¯ááºáá±á¬ááºáá»ááºá¡áá±á«áº áááºáá±á¬ááºááŸá¯ááŸááááºááá¯ááºáá«á
áá«ááá¯á·áá¬áááºááá¯ááŒááºááŒáá¡á±á¬ááºá áá¯ááºáá±ážáá¬ážáá±á¬ ááááºá á¬áá»á¬ážá¡ááœáẠáááºážááŒá±á¬ááºážááẠááá·áº node áá»á¬ážááœáẠáááŸááá«áá áááºážááᯠnode áá»á¬ážá¡á¬ážáá¯á¶ážááá¯á· ááŒáá¯áááºááá·áºáá«-
ip route add 10.9.8.0/24 dev eth1
Case 3- á¡áááºážá¡ááŒá áº-á¡ááŒá±áá¶áááºážááŒá±á¬ááºážááᯠááá¯á¡ááºááá·áºá¡áá«
áá®ážááŒá¬áž gateway ááŸáááá·áº packet áá»á¬ážááᯠáááºáá¶áááŸááá±á¬á¡áá«ááœáẠáá°áááºážá¡ááá¯ááºáž configure ááŒá¯áá¯ááºáá¬ážáá±á¬ ááá¯ááºáá²á ááá¯á·ááŒá±á¬áá·áº áá¯á¶á·ááŒááºááŸá¯ packets áá»á¬ážááẠáá°áá®áá±á¬ gateway ááŸáááá·áº ááœá¬ážááá·áºáá«áááºá
á¥ááá¬á¡á¬ážááŒáá·áºá ááá·áºááœáẠáá°áá®áá±á¬ subnet áá
áºáá¯ááŸááááºá 192.168.1.0/24
áááºá node áá»á¬ážá¡ááœáẠáááºááœáŸááºážáá±á¬áºáááºáž áááºááẠMetalLB ááᯠá¡áá¯á¶ážááŒá¯á ááŒááºáááááºá
á¬áá»á¬ážááᯠáá¯ááºáá±ážááá¯áá«áááºá ááá·áºááœáẠsubnet áá
áºáá¯á០ááááºá
á¬áá»á¬ážá
áœá¬ ááŸááááºáᯠáá°áááŒáá«á
áá¯á· 1.2.3.0/24
VLAN 100 ááœááºáááºááŸáááŒá®áž Kubernetes áááºáá±á¬ááºááŸá¯áá»á¬ážááᯠááŒááºáááœááºáááºáá±á¬ááºá¡áá¯á¶ážááŒá¯ááá¯áá«áááºá
áááºááœááºáá²á·á¡áá« 1.2.3.4
ááẠááŸáá·áº ááá°áá±á¬ subnet áá
áºáá¯á០áá±á¬ááºážááá¯ááŸá¯áá»á¬áž ááŒá¯áá¯ááºáááá·áºáááºá 1.2.3.0/24
á¡ááŒá±ááá¯á
á±á¬áá·áºáá«á MetalLB áá¯ááºáá±ážááá·áºááááºá
á¬á¡ááœáẠáá±á¬áá±á¬ááẠáá¬á
áá¬ááŒá
áºáá±áá±á¬ node 1.2.3.4
Router á០packet ááá¯áááºáá¶áááŸááááá·áºáááºá 1.2.3.1
áá«áá±ááá·áº áá°á·á¡ááœáẠá¡ááŒá±á áá±áá»á¬áá±á«áẠáá°áá®áá²á·áááºážááŒá±á¬ááºážááᯠááŒááºáááºážáááŸá¬ ááŒá
áºáá«áááºá 1.2.3.1
.
áá»áœááºá¯ááºááá¯á·á node ááœáẠconfigured default gateway áá
áºáá¯ááŸáááŒá®ážááŒá
áºáááºá 192.168.1.1
ááá¯á·áá±á¬áẠáá¯á¶ááŸááºá¡á¬ážááŒáá·áº áá¯á¶á·ááŒááºááŸá¯ááẠáá°á·áá¶ááá¯á· áá±á¬ááºááœá¬ážáááºááŒá
áºááŒá®ážá 1.2.3.1
á¡áá¯ááºááᯠáááºáá¶áááŸááá±á¬á¡á¬ážááŒáá·áºá
áá®á¡ááŒá±á¡áá±ááᯠáááºááá¯áááºááá¯ááºáááá²á
á€ááá á¹á ááœááºá áááºááẠáááºá node á¡á¬ážáá¯á¶ážááᯠááŒááºáááááºá á¬áá»á¬ážááᯠáááºáá±á¬ááºážááá·áºááœááºážááŒááºážáááŒá¯áá² áááºážááá¯á·ááᯠáááºáá±á¬ááºááŸá¯áá±ážááẠá¡áááºááá·áºááŒá áºá á±áá±á¬áááºážáááºážááŒáá·áº áááºááŒááºáááºáááºááá¯á¡ááºáá«áááºá ááá¯ááá¯áááºááŸá¬á á¡áááºáá±á¬áºááŒáá«á¥ááá¬á¡ááœááºá áááºááẠnode ááœáẠVLAN interface ááá¯ááŒáá¯áááºáááºáá®ážáááºááá¯á¡ááºáá«áááºá
ip link add link eth0 name eth0.100 type vlan id 100
ip link set eth0.100 up
ááŒá®ážáá»áŸáẠáááºážááŒá±á¬ááºážáá»á¬áž ááá·áºáá«-
ip route add 1.2.3.0/24 dev eth0.100 table 100
ip route add default via 1.2.3.1 table 100
áá®ážááŒá¬ážáááºážááŒá±á¬ááºážááá¬ážáá
áºáá¯ááá¯á· áááºážááŒá±á¬ááºážáá»á¬ážááá·áºáá¬ážááŒá±á¬ááºáž áá»á±ážáá°ážááŒá¯á áááááŒá¯áá«á 100
áááºážááœáẠááááºáááŸáá
áºááá·áº áá¯á¶á·ááŒááºááŸá¯áááºáááºááᯠáá±ážááá¯á·ááẠááá¯á¡ááºáá±á¬ áááºážááŒá±á¬ááºážááŸá
áºáá¯áᬠáá«ááŸááááºá 1.2.3.1
á¡ááºáá¬áá±á·á
áºááá±á¬ááºááœááºááœááºáááºááŸááááºá eth0.100
.
ááᯠáá»áœááºá¯ááºááá¯á·ááẠááá¯ážááŸááºážáá±á¬ á ááºážáá»ááºážááᯠááá·áºááœááºážááẠááá¯á¡ááºáááº-
ip rule add from 1.2.3.0/24 lookup 100
á¡ááá¡áááºážááŒá±á¬áá¬ážáááº- á¡áááºá áááºáááºááááºážááŒá
áºááááºá
á¬ááŸááá»áŸáẠ1.2.3.0/24
ááá¯á·áá±á¬ááºááẠrouting table ááá¯á¡áá¯á¶ážááŒá¯áááºááá¯á¡ááºáááºá 100
. á¡á²áá®á¡áá²ááŸá¬ áá°á·ááᯠááŒááºáááºážáááá·áº áááºážááŒá±á¬ááºážááᯠáá±á¬áºááŒáá¬ážááŒá®ážáá¬ážáá«á 1.2.3.1
Case 4- áá°áá«áá¡ááŒá±áá¶áááºážááŒá±á¬ááºážááᯠáááºááá¯á¡ááºáá±á¬á¡áá«
ááœááºááẠtopology ááẠááááºááá°áá¬ááœááºáá²á·ááá¯á·áááºááŒá
áºáááºá ááá¯á·áá±á¬áº áááºááẠááŒááºááá°ážááœá²ááááºá
á¬áá»á¬ážááᯠáááºáá±á¬ááºááŒáá·áºááŸá¯ááá¯áááºáᯠááá¯ááŒáá«á
áá¯á·á 1.2.3.0/24
áááºážáá²á· pods ááœá±ááá±
áá°ážááŒá¬ážáá»ááºááŸá¬ áááºááá·áºááááºá
á¬ááá¯áááᯠáááºáá±á¬ááºááá·áºá¡áá«ááœáẠááŒá
áºáááºá 1.2.3.0/24
áá¯á¶á·ááŒááºááŸá¯áááºáááºááẠnode ááá¯ááááŸááºááŒá®áž á¡ááá¯ááºážá¡ááŒá¬ážá¡ááœááºáž á¡áááºážá¡ááŒá
áºááááºá
á¬áá
áºáá¯ááŸááááºá 1.2.3.0/24
áá¬áá¶ááŸá¯ááŒáá·áº áá±ážááá¯á·áááºááŒá
áºáááºá eth0.100
ááá¯á·áá±á¬áº áá»áœááºá¯ááºááá¯á·ááẠáá°áááºážáá±á¬ááºážááá¯áá»ááºááᯠáá¯ááºáá±ážááá·áº áá»áœááºá¯ááºááá¯á·á ááááá¯á¶áž pod ááá¯á· ááŒááºááœáŸááºážááẠKubernetes ááᯠá¡ááá¯ááŸááááºá
á€ááŒá¿áá¬ááᯠááŒá±ááŸááºážáááºááŸá¬ áááºáá²áá¬áá±á¬áºáááºáž áá°áá«áá¡ááŒá±áá¶áááºážááŒá±á¬ááºážáááºážááŒá±á¬ááºážááŒá±á¬áá·áº ááŒá áºááá¯ááºáááº-
áá¯ááºáááºážá
ááºááᯠááá¯ááá¯áá±á¬ááºážááœááºá
áœá¬ áá¬ážáááºáááºá¡ááœááºá á€áá±áá¬ááœáẠnetfilter block diagram áá
áºáá¯ááŒá
áºáááºá
áŠážá áœá¬á ááááºááá°áá¬ááœááºá¡ááá¯ááºážá áá±á¬ááºáááºáááºážááŒá±á¬ááºážááá¬ážáá áºáá¯ááᯠáááºáá®ážááŒáá«á áá¯á·á
ip route add 1.2.3.0/24 dev eth0.100 table 100
ip route add default via 1.2.3.1 table 100
á¡áᯠiptables ááŸá¬ á ááºážáááºážá¡áááºážáááºááá·áºááŒáá·áºáá¡á±á¬ááºá
iptables -t mangle -A PREROUTING -i eth0.100 -j CONNMARK --set-mark 0x100
iptables -t mangle -A PREROUTING -j CONNMARK --restore-mark
iptables -t mangle -A PREROUTING -m mark ! --mark 0 -j RETURN
iptables -t mangle -A POSTROUTING -j CONNMARK --save-mark
á€á
ááºážáá»ááºážáá»á¬ážááẠá¡ááºáá¬áá±á·á
áºááá¯á· á¡áááºáá»áááºáááºááŸá¯áá»á¬ážááᯠá¡ááŸááºá¡áá¬ážááŒá¯áááºááŒá
áºáááºá eth0.100
áá¯ááºááá¯ážááŸá¯á¡á¬ážáá¯á¶ážááᯠtag ááŒáá·áº á¡ááŸááºá¡áá¬ážááŒá¯áá«á 0x100
áá°áá®áá±á¬áá»áááºáááºááŸá¯á¡ááœááºáž áá¯á¶á·ááŒááºááŸá¯áá»á¬ážááá¯áááºáž áá°áá®áá±á¬ tag ááŒáá·áº á¡ááŸááºá¡áá¬ážááŒá¯áááºááŒá
áºáááºá
ááᯠáá»áœááºá¯ááºááá¯á·ááẠáááºážááŒá±á¬ááºážááŒá ááºážáá»ááºážááᯠááá·áºááœááºážááá¯ááºáááº-
ip rule add from 1.2.3.0/24 fwmark 0x100 lookup 100
ááá¯ááá¯áááºááŸá¬á á¡áááºážá¡ááŒá
áºááááºá
á¬áá«áá±á¬ packet áá»á¬ážá¡á¬ážáá¯á¶áž 1.2.3.0/24
ááŸáá·áº tag 0x100
ááá¬ážááᯠá¡áá¯á¶ážááŒá¯á áááºážááŒá±á¬ááºážáá±ážááááºá 100
.
ááá¯á·ááŒá±á¬áá·áºá á¡ááŒá¬ážá¡ááºáá¬áá±á·á áºáá±á«áºááœáẠáááºáá¶áááŸáááá·áº á¡ááŒá¬ážáááºáááºáá»á¬ážááẠá ᶠKubernetes áááááá¬áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á áááºážááá¯á·ááᯠáááºážááŒá±á¬ááºážááŒá±á¬ááºážááá¯ááºá á±ááá·áº á€á ááºážáá»ááºážááŸáá·áº áááá¯ááºáá®áá«á
áá±á¬ááºáá áºáá¯ááŸááá±ážáááºá Linux ááœááºá¡áá¬á¡á¬ážáá¯á¶ážááá¯áá»ááºá á®ážá á±áá±á¬ reverse path filter áá¯áá±á«áºááœááºáááºá áááºážáááºááá¯ážááŸááºážáá±á¬á á áºáá±ážááŸá¯ááá¯áá¯ááºáá±á¬ááºáááº- á¡áááºáá¯ááºááá¯ážá¡á¬ážáá¯á¶ážá¡ááœááºá áá±ážááá¯á·áá°ááááºá á¬ááŸáá·áºá¡áá° packet áá¡áááºážá¡ááŒá áºááááºá á¬ááá¯ááŒá±á¬ááºážáá²ááŒá®ážá á áºáá±ážááŒááºážááŸááááŸáá á áºáá±ážáááºá packet ááẠáááºáá¶áááŸááá¬ážááá·áº áá°áá®áá±á¬á¡ááºáá¬áá±á·á áºááŸáááá·áº ááœááºááœá¬ážááá¯ááºáááºá ááá¯ááºáá«á áááºážááᯠá á áºáá¯ááºáááºááŒá áºáááºá
ááŒá¿áá¬ááŸá¬ áá»áœááºá¯ááºááá¯á·á ááá á¹á ááœáẠáááºážááẠááŸááºáááºá áœá¬ á¡áá¯ááºááá¯ááºáá±á¬áºáááºáž áá»áœááºá¯ááºááá¯á· áááºážááᯠdisable áá¯ááºááá¯ááºáá«áááºá
echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/eth0.100/rp_filter
ááá command ááẠrp_filter á ááá¹áá¬áá¯á¶ážááá¯ááºáᬠá¡ááŒá¯á¡áá°ááᯠááááºážáá»á¯ááºáá¬ážááŒá±á¬ááºáž áá»á±ážáá°ážááŒá¯á ááŸááºáá¬ážáá¬ážáá«á áááºážááᯠáááááºáá¬ážáá«áá áá¯áááá¡áááá·áºááŸá¬ á¡áá»áá¯ážáááºáá±á¬ááºááŸá¯ ááŸááááºááá¯ááºáá«á ááá¯á·áá±á¬áºáááºáž áá»ááºááŸááá±á¬ á¡ááºáá¬áá±á·á áºáá»á¬ážááẠrp_filter ááá¯ááœáá·áºáá¬ážááŒááºážááŒáá·áº áá»ááºááŸááá±áááºááŒá áºáááºá
filter ááá¯ááºáá±á¬ááºáá»ááºááᯠáá¯á¶ážáá¯á¶ážáá»á¬ážáá»á¬áž ááá·áºáááºááá¬ážá á±áááºá áá»áœááºá¯ááºááá¯á·ááẠnetfilter á¡ááœáẠrp_filter á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯ááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºáá«áááºá rpfilter ááᯠiptables module áá áºáá¯á¡áá±ááŒáá·áºá¡áá¯á¶ážááŒá¯ááŒááºážááŒáá·áºá áááºááẠá¡áá±á¬áºáá±áž ááá¯ááºáá»á±á¬áá®ááœá±ááŸááá±á¬ á ááºážáá»ááºážáá»á¬ážááᯠáááºááŸááºááá¯ááºáááºá á¥ááá¬á
iptables -t raw -A PREROUTING -i eth0.100 -d 1.2.3.0/24 -j RETURN
iptables -t raw -A PREROUTING -i eth0.100 -m rpfilter --invert -j DROP
á¡ááºáá¬áá±á·á
áºáá±á«áºááœáẠrp_filter ááá¯ááœáá·áºáá«á eth0.100
ááááºá
á¬á¡á¬ážáá¯á¶ážááŸááœá²á 1.2.3.0/24
.
source: www.habr.com