VPN саговорник пингује друге интерфејсе јер су локални
Локална табела рутирања шаље пакете на сваку адресу коју хост поседује, без обзира на ком се интерфејсу налази. Подешавања прослеђивања никада не улазе на тај пут.
WireGuard клијент се повеже и пингује адресу на потпуно другом интерфејсу, и одговор стигне. Снимци показују захтев само на тунелу. Ништа није покварено, а пажљиво искључено подешавање прослеђивања нема никакве везе с тим. Ово је поређење два пута који на дијаграму изгледају слично, а у језгру су потпуно различити.
Један пут прослеђује пакете за некога другог; други их доставља самом хосту.
Пакет адресиран на хост остаје у хосту
Удаљени клијент шаље IP пакет на адресу коју хост поседује. Рутирање поставља једно питање о том пакету: да ли је то одредиште локално? Свака адреса коју хост држи појављује се у локалној табели рутирања, и та табела се гледа пре главне, па пакет иде у сопствени стек хоста уместо да изађе кроз други интерфејс. Одговор се генерише локално и враћа се кроз тунел јер је упит дошао одатле.
То је цео механизам. Никакво прослеђивање се не дешава, никаква промена стања интерфејса није укључена, а дотична адреса не мора бити доступна ни одакле другде.
Зашто се ip_forward не примењује
Прослеђивање управља пакетима који морају изаћи кроз други интерфејс од онога на који су стигли. Пинг према самом хосту никада не иде тим путем: пакет се троши локално и одговор се генерише локално. Зато подешавање net.ipv4.ip_forward=0 овде ништа не мења, а правило у ланцу прослеђивања никада не види тај саобраћај. Исправна контрола је на улазном путу, ограничена долазним интерфејсом или извором.
Зато искључивање прослеђивања и претпоставка да је хост изолован стварају лажан осећај безбедности.
Прочитајте локалну табелу која је одлучила
ip rule show обично пријављује правило с приоритетом нула које све претраге прво шаље у локалну табелу, а ip route show table local наводи властите адресе хоста с локалним опсегом. Та табела укључује адресе на интерфејсима који су административно искључени али још конфигурисани. IPv4 адресе додељене статички обично преживе прекид везе, и тако пинг према искљученом мосту може ипак успети и изненадити оператера.
IPv6 се разликује управо у овој тачки. Његове се адресе обично повлаче када веза падне, осим ако није постављен keep_addr_on_down. Упоредите фамилије уместо да претпоставите да једно правило покрива обоје.
Шта саговорник заиста достиже
Одговор с властите адресе рутера на сегменту не говори ништа о машинама иза тог сегмента. Саговорник не може доћи до хоста иза другог интерфејса овим путем; достиже само адресе које сам рутер поседује. Тестирање услуге на засебном LAN хосту, уместо пинга адресе рутера, оно је што утврђује да ли је прослеђивање уопште дозвољено.
Ограничавање саговорника на услуге везане на адреси тунела питање је улазне политике. Дозволите жељену услугу на интерфејсу тунела и ограничите изворе који је смеју користити, јер пакет заиста стиже тамо.
Проверите и адресе које сте намеравали да укинете. Уклањање адресе с интерфејса поузданије је од слагања firewall правила на застарелу адресу.