It-telefowns jgħaqqdu mal-punt ta' aċċess, jirċievu indirizz u mbagħad ma jaslu għal xejn hekk kif it-tunnel jogħla. hostapd normalment ikun f'saħħtu f'dak l-istat, u OpenVPN wkoll; li jinqasam hija r-rotta default, li jew qatt ma kienet fuq il-pont jew it-tunnel issostitwixxiha mingħajr ma ħalla triq lejn is-server VPN stess. Dan il-gwida jqiegħed dik ir-rotta lura fejn tagħbel u jipprova r-riżultat minn klijent u mhux mill-Pi. Kull pass hu riversibbli, u xejn hawn ma jbiddel il-konfigurazzjoni tat-tunnel sakemm tkun taf liema traffiku trid ġo fih.

Iġbor l-interfaces qabel ma teditja xejn

It-tqassim familjari jqiegħed ir-radju mingħajr fili u l-port bil-fili ġewwa br0, jibda hostapd kontra l-pont u jqassam kirjiet minn dnsmasq, filwaqt li klijent OpenVPN joħloq tun0. Imbagħad tliet rekwiżiti separati jidhru bħala wieħed: il-klijenti tal-punt ta' aċċess għandhom bżonn il-Pi bħala l-gateway tagħhom, il-Pi għandu bżonn rotta lejn l-internet biex jasal għas-server tiegħu, u l-pont għandu bżonn indirizz tal-gateway li dawk il-klijenti jistgħu jużaw.

Aqra l-istat attwali qabel ma tbiddlu, għax dawn l-erba' kmendi jifirdu problema tal-interface minn problema tar-routing.

ip -br addr
ip route show
ip link show master br0
bridge link show

Jekk br0 iġorr indirizz imma m'għandux rotta default, il-klijenti jaslu għall-Pi u għal xejn warajh. Jekk ir-rotta default tipponta lejn tun0 waqt li t-tunnel huwa baxx, il-Pi m'għandux triq li taħdem xejn, u s-sintomu tal-klijent jidher eżattament l-istess. Iż-żewġ każijiet jidhru identiċi minn telefon, u għalhekk it-tabella tar-rotot trid tinqara direttament.

Agħti lill-pont rotta default li tagħha

Raspberry Pi OS spiss iħalli l-pont mingħajr rotta default meta l-pont inħoloq wara li nkiteb il-fajl tal-interface. Il-blokka tappartjeni fi /etc/dhcpcd.conf, u għandha ssemmi r-router 'l fuq u mhux il-Pi.

interface br0
static ip_address=192.168.50.2/24
static routers=192.168.50.1
static domain_name_servers=192.168.50.1

F'dak l-eżempju 192.168.50.1 huwa r-router eżistenti u 192.168.50.2 huwa l-indirizz tal-pont tal-Pi fl-istess subnet, għalhekk ibdel bil-pjan tiegħek minflok ma tikkopja n-numri. Il-membri tal-pont lanqas ma għandhom jitolbu routers, inkella l-Pi jispiċċa bi defaults konkorenti li l-rebbieħ tagħhom jiddependi mill-metrika u mill-ħin u mhux mill-intenzjoni.

Wara systemctl restart dhcpcd ip route show default għandu jelenka br0 darba u l-ebda duplikat mill-port bil-fili. Ikkonferma t-tfittxija u mhux it-tabella, għax entrata antika tista' toqgħod ħdejn waħda rebbieħa: ip -4 route get 203.0.113.10 irid isemmi br0. Dak l-indirizz ġej mill-firxa tad-dokumentazzjoni TEST-NET-3, għalhekk ma jistax jaħbat ma' server reali waqt li taqra dan.

Waqqaf it-tunnel milli jaħtaf it-triq lejn is-server tiegħu stess

Klijent OpenVPN li jaċċetta redirect-gateway jieħu r-rotta default u jindirizzaha fit-tunnel. Dan huwa tajjeb meta kull klijent tal-punt ta' aċċess għandu juża l-VPN, u ħażin meta għandhom biss xi destinazzjonijiet. Kif ikun, il-konnessjoni tal-Pi nnifsu mas-server ma għandhiex tivvjaġġa ġewwa t-tunnel li għadu qed jibni. OpenVPN iżid rotta tal-host lejn il-bogħod permezz tal-gateway oriġinali meta jerġa' jindirizza d-default, u dan huwa eżattament l-imġiba li żżomm it-trasport ħaj; jekk dik ir-rotta hija nieqsa, it-tunnel jiġġarraf hekk kif jistabbilixxi ruħu.

Tqabbil malajr ta' dik it-triq tat-trasport qabel u wara l-konnessjoni jiswa dawk l-għaxar sekondi. ip -4 route get 203.0.113.10 għandu jsemmi l-apparat ta' taħt fiż-żewġ stati, u jinbidel biss il-metrika. Jekk isemmi tun0 wara li jogħla t-tunnel, ir-rotta tal-host qatt ma ġiet installata u l-konnessjoni mill-ġdid li jmiss se tfalli.

Meta biss prefissi magħżula għandhom jaqsmu t-tunnel, uża route-nopull u żid ir-rotot li trid bl-idejn, jew imbotta sett eqreb mis-server. Il-pont iżomm ir-rotta default f'dak id-disinn, u d-DNS isir id-deċiżjoni li jmiss: it-trasferiment ta' dnsmasq għal solvitur tad-dar jagħmel sens biss għall-ismijiet li verament jgħixu hemm.

Iddeċiedi l-istorja tal-forwarding u tan-NAT

Tunnel sħiħ jeħtieġ forwarding attivat fuq il-Pi u gateway fuq in-naħa l-oħra lest li jrotta s-subnet tal-punt ta' aċċess. Iċċekkja l-forwarding qabel kull ħaġa oħra, għax żero jagħmel kull bidla fir-rotta irrilevanti.

sysctl net.ipv4.ip_forward
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -s 192.168.50.0/24 -o tun0 -j MASQUERADE

Ir-regola NAT hija s-shortcut li taħdem meta s-server ma jaċċettax il-prefiss tal-punt ta' aċċess, bil-prezz li kull klijent jidher bħala l-indirizz tat-tunnel tal-Pi fil-logs tan-naħa l-oħra. Ir-rotta tal-prefiss mingħajr NAT iżżomm l-indirizzi viżibbli u tiddependi fuq rotta ta' ritorn għal 192.168.50.0/24 fuq in-naħa tad-dar.

Ikteb l-għażla ħdejn ir-regoli tal-firewall, għax regola NAT li ma tidhirx fid-disinn issir inspjegabbli sitt xhur wara. Żomm IPv6 fl-istess deċiżjoni; triq IPv4 li taħdem ħdejn triq IPv6 miksura xorta tinqara bħala nofs miksur fil-browser.

Ivverifika minn klijent, imbagħad erġa' lura b'mod nadif

Ittestja f'dan l-ordni minn telefon jew laptop fuq il-punt ta' aċċess: kirja minn dnsmasq, ping lejn l-indirizz tal-pont, imbagħad destinazzjoni fuq in-naħa l-oħra tat-tunnel. Kull pass jiżola saff wieħed minflok ma jipproduċi falliment wieħed inutli.

ip -4 route get 203.0.113.10
ping -c 3 -I br0 203.0.113.10

Imbagħad ikkonferma li l-Pi għad għandu t-triq tiegħu 'l barra: ip route get 203.0.113.10 għandu jsemmi l-apparat ta' taħt, u ping -c 3 -I br0 203.0.113.10 għandu jwieġeb jekk is-server jippermetti ICMP. Jekk l-ewwel żewġ passi tal-klijent jgħaddu u t-tielet jonqos, il-ħsara tinsab fil-forwarding jew fin-NAT. Jekk it-tieni pass jonqos, il-pont jew id-DHCP għadhom mhux kompluti.

Ir-rollback huwa edit wieħed ta' fajl u żewġ kmendi: neħħi l-blokka, erġa' ibda dhcpcd, u ibdel ir-rotta default b'mod espliċitu b'ip route replace default via 192.168.50.1 dev br0. Agħmel dan qabel ma tagħlaq it-tieqa tal-manutenzjoni u mhux wara, għax Pi li tilef ir-rotta default tiegħu ma jistax jintlaħaq min-network li tuża biex isewwih.

Artikli relatati