Linux хост өзүнүн SMTPсин гана туннел аркылуу жөнөтүшү үчүн төрт нерсе дал келиши керек: өзүнчө таблицадагы маршрут, трафикти тандаган саясат эрежеси, peer кабыл ала турган булак дареги жана асимметрияга чыдаган кайтаруу жолу. Ар бири өзүнүн иштебей калуу режими бар өзүнчө конфигурация. Төмөнкү тартип иштебей калууну чындап туура эмес бөлүккө көрсөтөт. Бул портко тиешелүү маршруттоо иши, VPN демейки маршрутун суроо эмес.

Порт эрежеси демейки маршрут эмес

Жергиликтүү түзүлгөн TCPни максаттуу порт 25 менен дал келтирген эреже бул трафикти сиз атаган таблицага жөнөтөт. Эреже өзү эч нерсе жаратпайт: ал тандайт, таблицада пакетти ташый алган маршрут болушу керек. Экөөнү бириктирүү бир протоколдун чыгыш багытын гана камтыйт, ошондуктан башка хосттор үчүн форварддоо, кирүүчү почта байланыштары жана IPv6 бул түзүлүштөн тышкары калат. Аны VPN демейкиси эмес, портко тиешелүү саясат деп атоо бул чекти адал сактайт.

wg-quickтин эки жөндөөсү алдын-ала шарт, саясаттын бөлүгү эмес. AllowedIPs = 0.0.0.0/0 peerге каалаган IPv4 максаттарын ташууга мүмкүндүк берет, ал эми Table = off wg-quickтин ошол префикс үчүн өзүнүн демейки маршрутун орнотуусун токтотот. Бул көрсөтмөлөрдү өзүнүн маршрут саясатын колдонгон менеджер менен аралаштырбаңыз, анткени экөө негизги таблица кимге таандык экенинде макулдаша албайт.

Маршрутту, селекторду жана кайтаргычты жазыңыз

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

ip -4 route add default dev wg0 src 10.77.0.2 table 51825
ip -4 rule add priority 10000 iif lo ipproto tcp dport 25 lookup 51825
ip -4 rule add priority 10001 iif lo ipproto tcp dport 25 unreachable

iif lo эрежени жергиликтүү келип чыккан трафикке чектейт, ал эми ipproto tcp dport 25 байланыштын багытын аныктайт; ip-rule шилтемеси эки селекторду тең сүрөттөйт. Алар учурдагы ядролордо жана iproute2 чыгарылыштарында бар, ал эми эски системада эреже толугу менен четке кагылат, бул жүктөлүп, эч нерсеге дал келбеген эрежеден ачыкыраак иштебей калуу.

Кийинки артыкчылыктагы unreachable эрежеси — кайтаргыч. Ансыз 51825 таблицасындагы жок маршрут кадимки демейкиге түшөт, жана туннел үзүлгөндө почта физикалык зым аркылуу чыгып кетет, бул саясаттын алдын алуу үчүн курулган так ошол учур.

Булак дареги шайкеш келиши керек

Маршруттун src артыкчылыгы башталышын өзү байлабаган байланыштар үчүн гана булакты толтурат. Бул трансляция эмес жана ачык байлоону жокко чыгарбайт, ошондуктан физикалык дарекке байланган демон ошол даректен жөнөтүүнү улантат. Эгер дал ушундай болсо, демондун өз жөндөөсүн өзгөртүңүз же атайын трансляция саясатын долбоорлоңуз, анткени кеч жасалган жалпы masquerade — башка кесепеттери бар башка чечим.

Дарбазада кардардын peerи чындап алган булакка уруксат бериши керек, башкача айтканда кенен максат префикси эмес, 10.77.0.2/32. Кардардын 0.0.0.0/0 маанисин ар бир дарбаза peerине көчүрүү кайсы peer кайсы трафикке ээ экенин чаташтырат. Дарбазага форварддоо, агымга уруксат берген firewall саясаты жана кайтаруу жолу керек, анын ичинде жогорку тарап жеке туннел дарегин маршруттай албаганда чыгыш трансляциясы.

Кайтаруу жолун, анан туруктуулукту текшериңиз

Бир нерсеге ишенүүдөн мурун издөөлөрдү окуңуз, анткени алар ар бир багыт кайсы таблицаны жана кайсы булакты аларын көрсөтөт. 25-порттогу бир максат жана 443-порттогу ошол эле максат жетиштүү:

ip -4 route get 198.51.100.25 ipproto tcp dport 25
ip -4 route get 198.51.100.25 ipproto tcp dport 443

Биринчи издөө wg0 менен көздөлгөн булакты аташы керек, экинчиси кадимки жогорку зымды сакташы керек. Колдонмо өз дарегин байлаганда, издөөгө ошол дарек менен from кошуңуз. wg0-ге жетип, анан жергиликтүү түрдө ташталган жооп багыты IPv4 тескери жол чыпкалоосун көрсөтөт, анткени тек чыгыш портко арналган эреже тескери издөөнү туннелди тандоого мажбурлабайт.

Асимметриялык маршруттоо уруксат берилген жерде net.ipv4.conf.wg0.rp_filter=2 аркылуу интерфейс менен чектелген бош режим ылайыктуу болушу мүмкүн, жана адегенде all менен интерфейс маанилеринин натыйжалуу максимумын текшерүү керек. Валидацияны кыска жол катары глобалдык өчүрбөңүз. Андан кийин таблицаны, артыкчылыктарды жана кайтаргычты конфигурация ээсине өткөрүп бериңиз, жана кайра туташкандан кийин жаңы байланыштарды ачып, тандоо дагы эле сакталып турганын ырастаңыз. Жергиликтүү SMTP угуучусунун жооптору максаттуу порт 25 эмес, булак порт 25ди ташыйт, бул өзүнчө саясат маселеси.

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