Сокетте сурамды кайсы интерфейс ташыганын эске сактаган эч нерсе жок, ошондуктан толук туннелдүү VPNдин демейки маршруту WANга тиешелүү жоопту кармап калышы мүмкүн. Кызмат кирүүчү интерфейсти этибарга албай жаткан жок; Linux жергиликтүү түзүлгөн жоопту багыт жана булак саясаты боюнча маршруттайт. Булакка негизделген эреже ордуна кызматтын жоопторун гана толук WAN таблицасы аркылуу жөнөтүп, кадимки чыгууну туннелде калтыра алат. Жооп туура эмес жол менен чыгып жатканда порт ачык бойдон калат, ошондуктан белги бир тараптуу көрүнөт.

Туура эмес түшүнүк: жооптор келген интерфейсти ээрчийт

eth0га келген пакет eth0 аркылуу чыгышы керек деп ойлоо логикалуу көрүнөт. Абалсыз пакет чыпкаларын ушундай жазууга болот, ал эми кирүү тараптагы tcpdump сурамды күтүлгөн жерден таптакыр көрсөтөт. Хост өзү жараткан трафик үчүн маршруттоо андай иштебейт.

Кызмат байланышты кабыл алгандан кийин анын жообу жаңы, жергиликтүү түзүлгөн пакет. Ядро жооптун багыты жана булагы үчүн маршруттоо эрежелерин карайт, ал эми VPNдин демейки маршруту толук жарактуу жооп. Сокетте сурамды кайсы интерфейс ташыганын эске сактаган эч нерсе жок.

Ошондуктан белги бир тараптуу көрүнөт: сурамдар келет, жооптор жоголот. Ошондуктан кирүүчү порт үчүн firewall эрежесин кошуу да эч нерсени өзгөртпөйт. Пакет ичке карай жолдо тосколонбойт; ал сыртка карай жолдо башка жерге маршрутталат. Жоопту булак боюнча такталган издөө менен көзөмөлдөңүз, ошондо айланып өтүү жолу көрүнөт.

Ядро чындыгында эмнени маршруттайт: булак дареги

Сизге керек тутка — кызмат жооптор үчүн колдонгон жергиликтүү дарек. eth0 дареги мисал катары 192.0.2.10/24 жана шлюзу 192.0.2.1 болгон хостто бул дарек интерфейсте бар. Булут VMде коомдук дарек жогоруда которулуп, конокто жок болушу мүмкүн, ошондуктан хост чындыгында ээ болгон даректи колдонуңуз.

Таблица номерин же эреже артыкчылыгын ээлегенге чейин учурдагы абалды текшериңиз. Колдонуудагы саясат эрежелери жаңысын көлөкөлөшү мүмкүн, ал эми ошол эле номердеги эски таблицада мурунтан эле тиешеси жок маршруттар болушу мүмкүн:

ip -4 addr show dev eth0
ip -4 rule show
ip -4 route show table all

Андан кийин булак боюнча таблица тандаңыз. Эреже 192.0.2.10ду мурунтан алып жүргөн жоопторго туура келет, башкача айтканда сиз бошоткуңуз келген жергиликтүү бүткөн трафик. Жөнөтүлгөн трафик жана башка жергиликтүү даректерден келген пакеттер туура келбейт.

Жарым демейки эмес, толук кайтаруу таблицасын куруңуз

Бир гана демейки маршруту бар таблица жетишсиз. Ядро дагы эле шлюзди чечүүгө тийиш, ал эми бул чечүү ошол эле таблицадагы туташкан префиксти талап кылат. Ошол префикс жок таблица демейки маршруту туура көрүнсө да шлюзди чечүүдө ийгиликсиз болот. Экөөнү тең кошуңуз, анан булак эрежесин таблицага багыттаңыз:

ip -4 route add table 100 192.0.2.0/24 dev eth0 src 192.0.2.10
ip -4 route add table 100 default via 192.0.2.1 dev eth0
ip -4 rule add priority 1000 from 192.0.2.10/32 lookup 100

Мисалды көчүрүүнүн ордуна чыныгы префикс жана шлюзду колдонуңуз. On-link шлюзу менен /32 катары конфигурацияланган булут интерфейси башка туташкан маршрутту талап кылат, ал эми туура эмес префикстен курулган таблица биринчи секирикте ийгиликсиз болот. src атрибуту ошол маршрут үчүн артыкчылыктуу булакты көрсөтөт; ал булак эрежесин алмаштырбайт.

Ирет да маанилүү. Артыкчылык номери төмөн кең эреже биринчи бааланат, ошондуктан бул трафикти негизги таблицага кайтара турган кандайдыр бир эрежеден мурун булак эрежесине жетүү керек. Кошкондон кийин ip rule show менен артыкчылыктарды текшериңиз, жүктөөдө гана эмес.

Булак боюнча такталган издөө менен текшериңиз

Ядродон кызмат дарегинен сыноо багытына маршруттоону сураныңыз. Жооп туннелди эмес, eth0 жана WAN шлюзун аташы керек:

ip -4 route get 198.51.100.25 from 192.0.2.10

Андан кийин жаңы уруксат берилген байланыш түзүп, эки багытты тең байкаңыз. Туура таблицаны тандап, бирок тирүү байланыш дагы эле ийгиликсиз болсо, бул таблицага эмес, кайтарым жолду чыпкалоого же firewall эрежесине көрсөтөт. Бир нерсени глобалдык өчүрүүдөн мурун ошол көзөмөлдөрдү текшериңиз.

Акыркы маршруттарды жана эрежени интерфейске ээ болгон тармак менеджеринин астына коюңуз. Дарек өзгөрүүлөрү, DHCP жаңыртуу жана VPN кайра туташуу ядронун абалын кайра жазат, ал эми кол менен кошулган эреже кийинки окуядан кийин жоголот же эскирген шлюзди көрсөтөт.

Бул өзгөчөлүк кайда токтойт

Эреже бир булак дарегинен жергиликтүү бүткөн трафикти бошотот. Ал Docker жарыялаган портторду, DNATты же хост аркылуу жөнөтүлгөн кызматтарды камтыбайт, анткени бул пакеттер жөнөтүлгөн трафик катары маршрутталат жана хосттун жергиликтүү булагын эч качан ушундай ташыбайт. Мындай долбоорлор адатта кирүүдө коюлган белгини жана ошол белгиге туура келген эрежени талап кылат.

Ал ошондой эле хосттун коомдук дарегин интерфейсте көрсөтпөйт. Жогорку NAT ошол дарекке ээ болгондо, жооп дагы эле ошол NAT күткөн жол менен чыгышы керек, ошондуктан WAN таблицасы болжолдонгон коомдук диапазонду эмес, баштапкы шлюз менен префиксти чагылдырышы керек.

Өзгөчөлүктү таблица номери, эреже артыкчылыгы жана так булак дареги менен документтештирип кармаңыз. VPNге же интерфейске кийинки өзгөртүү аны үнсүз бузушу мүмкүн, ал эми үч маанини атаган жазуу белгини кардар баяндамасынан кайра табуудан тезирээк текшерилет.

Эгер булак боюнча такталган издөө ийгиликтүү өткөндөн кийин да кызмат туура эмес жол менен жооп берсе, тирүү сокеттин булак дарегин эрежедеги дарек менен салыштырыңыз. Wildcard дарекке байланган кызмат сиз сынаган даректен башка булакты тандашы мүмкүн, жана ошол дал келбестик — калган кемтик.

Тектеш макалалар