Эмне үчүн net.ipv4.conf.default.forwarding tun0-ге тийбейт
default.forwarding жаңы интерфейстерди гана себет, активдүү туннелди эмес. ip_forward, үлгү жана интерфейсти аны ээлеген namespace-де салыштырыңыз.
Сиз net.ipv4.conf.default.forwarding=1 орноттуңуз, VPNди кайра иштеттиңиз, бирок туннель шлюз багыттоосу керек болгон пакеттерди дагы эле таштайт. Файлдагы параметр туура көрүнөт, ал эми интерфейс дагы эле өткөрүү өчүк деп билдирет. Эч нерсе бузулган жок: сиз келечектеги интерфейстер мурастай турган маанини өзгөрттүңүз, активдүү туннель колдонгон маанини эмес.
Муну туннелди ээлеген хостто, туннель чындап бар болгон тармактык namespace-де карап чыгыңыз. Контейнер же тармактык namespace интерфейсти кармап тура алат, ал эми хост башка сандарды көрсөтөт.
Үч маанини чогуу окуңуз
Шлюздин жалпы өчүргүчүн, жаңы интерфейстер үчүн үлгүнү жана сизди кызыктырган интерфейсти салыштыруудан баштаңыз. tun0 ордуна чыныгы кирүү интерфейсин коюңуз жана кайтаруу интерфейсин да окуңуз, анткени өткөрүү пакет келген чекитте бааланат.
sysctl net.ipv4.ip_forward
sysctl net.ipv4.conf.default.forwarding
sysctl net.ipv4.conf.tun0.forwardingКөп кездешкен натыйжа — ip_forward = 0, default.forwarding = 1 жана tun0.forwarding = 0. Биринчи экөө хосттун ролу боюнча макул эмес, үчүнчүсү интерфейстин чындап эмне кылып жатканын көрсөтөт. Бул айкалыш маршрутизатор катары эч качан конфигурацияланбаган, бир гана үлгү маанисин алган хостко туура келет. Үч сан бири-бирине карама-каршы келбейт; алар үч башка суроого жооп берет. Үлгү маанисин жазуу да хосттун ролун чечпейт.
Эмне үчүн дал глобалдык өчүргүч кыймылдайт
net.ipv4.ip_forward шлюздин жалпы башкаруусу болуп саналат. Аны өзгөртүү ошол эле операциянын бөлүгү катары ар бир интерфейстин өткөрүү параметрлерин жаңыртат, ошондуктан бир жазуу бар болгон туннелди өткөрүүнү баштоого мажбурлай алат. default.forwarding кийин инициализацияланган интерфейстерди гана себет, ошондуктан мурунтан бар туннель төрөлгөн маанисин сактап калат.
Ядронун документтери ip_forward өзгөчө деп белгилейт байланыштуу себептен: аны өзгөртүү башка IPv4 параметрлеринин тобун хост же маршрутизатор демейки маанилерине кайтарат. Бул аны одоно куралга айландырат. Аны шлюз ролун орнотуу алкагында бир жолу орнотуу жарайт; аны оңдоо ыкмасы катары кайра-кайра которуу убакыт короткон конфигурацияңызды үнсүз кайра жазышы мүмкүн.
Интерфейс боюнча маанилер да себепсиз эмес. Атайын башкарылуучу шлюз эч качан багыттабашы керек интерфейсте өткөрүүнү өчүк кармай алат, хост башка жерде өткөрүп жатса да. Ошондуктан активдүү интерфейсти окуу маанилүү жана ошондуктан жалпы маани гана толук жооп эмес. Мындай өзгөчөлүктү атайын кабыл алынган чечим деп окуңуз жана ал интерфейс эмне үчүн башкача экенин жазыңыз. Болбосо кийинки инженер аны мээримдүүлүк менен "оңдоп" коёт.
Параметрди туура жерде туруктуу кылыңыз
Бир жолку ийгиликтүү sysctl -w ядро маанини кабыл аларын далилдейт. Ал кайра жүктөөдөн кийин сакталбайт жана кайра туташканда интерфейс конфигурациясы тууралуу өз түшүнүгүн кайра колдонгон тармактык менеджерден кийин да сакталбайт. Шлюз ролун sysctl конфигурация файлына же хостту ээлеген тармактык менеджерге коюңуз, анан аны колдонгон кызматты кайра иштетиңиз.
Туннелдерде тартип маанилүү. Эгер менеджер интерфейсти жүктөөдө түзүп, өткөрүүнү кийин колдонсо, интерфейс эски демейкини мурасташы мүмкүн. Туннелди кайра түзгөн кызматты кайра иштетүү да түзүү окуясы болуп саналат жана unit соо көрүнгөндө аны байкабай калуу оңой. Файлдын акыркы мазмунун гана эмес, ырааттуулугун текшериңиз.
VPN кайра туташкандан кийин жана кайра жүктөөдөн кийин ошол эле үч маанини кайра окуңуз. Жаңы түзүлгөн туннель — жаңы интерфейс, ал эми жаңы интерфейс түзүлгөн учурда күчүндө болгон демейкини алат. Эгер сандар ушул окуялардын арасында өзгөрсө, конфигурацияны сиз али аныктай элек нерсе колдонуп жатат.
Муну туура эмес курал менен оңдобоңуз
Өткөрүү бузулгандай көрүнгөндө, firewallды тазалоо же masquerading кошуу азгырат. Экөө тең өткөрүү өчүргүчүн чечпейт. Өткөрүү абалы, өткөрүү уруксаты, багытка маршрут жана кайтуу жолу — төрт өзүнчө талап, жана биринчиси гана sysctl.
Туура агым менен да сынап көрүңүз. Шлюздин өзүндө жасалган сурам өткөрүүнү такыр колдонбойт; бул жергиликтүү жаралган трафик. Маселе VPN кардарынан же LAN хосттон келген пакеттин кабыл алынып, андан ары багытталышында, ошондуктан сыноо шлюздин артынан башталышы керек.
IPv6 учурун өзүнчө кармаңыз
Бул жерде баары IPv4. IPv6 өткөрүүсүнүн, маршрутизатор жарыялоолорунун жана accept_ra жүрүм-турумунун өз башкаруулары бар, ал эми ipv4 жолун ipv6 параметрине көчүрүү ишенимдүү көрүнгөн, бирок пайдалуу эч нерсе кылбаган файлды жаратат. Кош стектүү шлюз эки топтомду тең атайын конфигурациялашы керек.
Акыркы текшерүү: маанилер дал келгенден кийин туннелдин маршруту багыт үчүн тандалганын жана жооп жолунун бар экенин ырастаңыз. Маршрутсуз интерфейсте күйгүзүлгөн өткөрүү дагы эле кара көңдөй, жана бул ката кардар тараптан бирдей көрүнөт.