I-ruta lamang ang port 25 sa tunnel, hindi ang host
Ang tuntuning pinili ayon sa port ay nagpapadala lamang ng papalabas na SMTP sa tunnel. Ang talahanayan, source address at pabalik na landas ay dapat magtugma, kung hindi ay walang gumagana.
Apat na bagay ang dapat magtugma bago magpadala ang isang Linux host ng sarili nitong SMTP lamang sa tunnel: isang ruta sa nakalaang talahanayan, isang tuntunin ng patakaran na pumipili ng trapiko, isang source address na tatanggapin ng peer, at isang pabalik na landas na nakakayanan ang asimetriya. Bawat isa ay hiwalay na configuration na may sariling paraan ng pagpalya. Ang pagkakasunod-sunod sa ibaba ang nagpapahiwatig ng palya sa bahaging talagang mali. Ito ay trabahong routing na partikular sa port, hindi kahilingan para sa default na ruta ng VPN.
Ang tuntunin ng port ay hindi default na ruta
Ang tuntunin na tumutugma sa lokal na ginawang TCP sa destinasyong port 25 ay nagpapadala ng trapikong iyon sa talahanayang pinangalanan mo. Hindi lumilikha ng anuman ang tuntunin sa sarili nito: pumipili ito, at ang talahanayan ay dapat maglaman ng rutang kayang magdala ng packet. Ang pagsasama ng dalawa ay sumasaklaw lamang sa pahigang palabas ng isang protocol, kaya ang forwarding para sa ibang host, mga papasok na koneksyon ng mail at IPv6 ay nananatili sa labas ng kaayusang ito. Ang pagtawag dito na patakarang partikular sa port sa halip na default ng VPN ay nagpapanatili ng hangganang iyon na tapat.
Dalawang setting ng wg-quick ang mga paunang kundisyon, hindi bahagi ng patakaran. Ang AllowedIPs = 0.0.0.0/0 ay nagpapahintulot sa peer na magdala ng kahit anong destinasyong IPv4, at ang Table = off ay pumipigil sa wg-quick na i-install ang sarili nitong default na ruta para sa prefix na iyon. Huwag ihalo ang mga tagubiling ito sa isang manager na naglalapat ng sarili nitong patakaran sa ruta, dahil hindi magkakasundo ang dalawa kung kanino ang pangunahing talahanayan.
Isulat ang ruta, ang pumipili at ang bantay
Pumili ng numero ng talahanayan at pares ng prayoridad na wala nang ibang gumagamit, pagkatapos ay ilapat ang ruta, ang pumipili at ang bantay sa ganoong pagkakasunod-sunod. Ang mga numero sa ibaba ay mga halimbawa, hindi nakalaang halaga:
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 unreachableiif lo ay nililimitahan ang tuntunin sa trapikong nagmumula sa lokal, at ipproto tcp dport 25 ay tinutukoy ang direksyon ng koneksyon; ang sanggunian ng ip-rule ay nagdodokumento sa dalawang pumipili. Umiiral ang mga ito sa kasalukuyang kernel at mga release ng iproute2, at sa mas lumang sistema ang tuntunin ay direktang tinatanggihan, na mas malinaw na pagpalya kaysa sa tuntuning naglo-load at walang tinutugma.
Ang tuntuning unreachable sa susunod na prayoridad ang bantay. Kung wala ito, ang nawawalang ruta sa talahanayan 51825 ay babagsak sa karaniwang default, at ang mail ay lalabas sa pisikal na link habang may pagkawala ng tunnel, na siyang eksaktong kaso na nais pigilan ng patakaran.
Dapat magtugma ang source address
Ang kagustuhang src ng ruta ay pinupunan lamang ang source para sa mga koneksyong hindi nagbigkis ng sarili nilang source. Ito ay hindi pagsasalin, at hindi nito binabalewala ang tahasang pagbigkis, kaya ang daemon na nakabigkis sa pisikal na address ay patuloy na nagpapadala mula sa address na iyon. Kung ito ang nakita mo, baguhin ang setting ng daemon mismo o magdisenyo ng sadyang patakaran sa pagsasalin, dahil ang huling malawakang masquerade ay ibang solusyon na may ibang kahihinatnan.
Sa gateway, dapat pahintulutan ng peer ng kliyente ang source na aktwal nitong natatanggap, na 10.77.0.2/32 at hindi malawak na prefix ng destinasyon. Ang pagkopya ng 0.0.0.0/0 ng kliyente sa bawat peer ng gateway ay nagpapalito kung aling peer ang may-ari ng aling trapiko. Ang gateway ay nangangailangan din ng forwarding, patakaran ng firewall na nagpapahintulot sa daloy, at pabalik na landas, kabilang ang pagsasalin ng palabas kapag hindi kayang i-ruta ng upstream ang pribadong address ng tunnel.
Suriin ang pabalik na landas, pagkatapos ang pagtitiyaga
Basahin ang mga lookup bago magtiwala sa anuman, dahil ipinapakita nila kung aling talahanayan at aling source ang nakukuha ng bawat direksyon. Ang isang destinasyon sa port 25 at ang parehong destinasyon sa port 443 ay sapat na:
ip -4 route get 198.51.100.25 ipproto tcp dport 25
ip -4 route get 198.51.100.25 ipproto tcp dport 443Dapat pangalanan ng unang lookup ang wg0 at ang sinasadyang source, at dapat panatilihin ng pangalawa ang karaniwang uplink. Kapag binigkis ng application ang sarili nitong address, idagdag ang from kasama ng address na iyon sa lookup. Ang direksyon ng tugon na umabot sa wg0 at pagkatapos ay itinapon sa lokal ay tumutukoy sa pag-filter ng pabalik na landas ng IPv4, dahil ang tuntuning para lamang sa palabas na port ay hindi nagpipilit sa pabalik na lookup na piliin ang tunnel.
Kung saan pinapayagan ang asimetrikong routing, maaaring angkop ang maluwag na mode na nililimitahan sa interface sa pamamagitan ng net.ipv4.conf.wg0.rp_filter=2, at sulit na suriin muna ang epektibong maximum ng all at ng mga halaga ng interface. Huwag i-disable ang validation nang pangkalahatan bilang shortcut. Pagkatapos ay ibigay ang talahanayan, ang mga prayoridad at ang bantay sa may-ari ng configuration, at magbukas ng mga bagong koneksyon pagkatapos ng muling pagkonekta upang kumpirmahin na nananatili pa rin ang pagpili. Tandaan na ang mga tugon mula sa lokal na tagapakinig ng SMTP ay may dalang source port 25 at hindi destination port 25, na isang hiwalay na usapin ng patakaran.