Hello kila mtu, nilisoma hivi karibuni
Kazi
Kuna kipanga njia cha TP-Link WDR3500 na Orange Pi Zero H2. Tunataka Orange Pi isimbe vichuguu kwa njia fiche kama kawaida, na ikiwa jambo litatokea, uchakataji wa VPN utarudi kwenye kipanga njia. Mipangilio yote ya firewall kwenye kipanga njia inapaswa kufanya kazi kama hapo awali. Na kwa ujumla, kuongeza vifaa vya ziada vinapaswa kuwa wazi na visivyoonekana kwa kila mtu. OpenVPN inafanya kazi kupitia TCP, adapta ya TAP iko katika hali ya daraja (server-daraja).
uamuzi
Badala ya kuunganisha kupitia USB, niliamua kutumia bandari moja ya router na kuunganisha subnets zote ambazo zina daraja la VPN kwenye Orange Pi. Inabadilika kuwa vifaa vitaning'inia kimwili kwenye mitandao sawa na seva ya VPN kwenye router. Baada ya hayo, tunasanikisha seva zile zile kwenye Orange Pi, na kwenye kipanga njia tunaweka aina fulani ya wakala ili itume miunganisho yote inayoingia kwa seva ya nje, na ikiwa Orange Pi imekufa au haipatikani, basi kwa seva mbadala ya ndani. Nilichukua HAProxy.
Inageuka kama hii:
- Mteja anafika
- Ikiwa seva ya nje haipatikani, kama hapo awali, unganisho huenda kwa seva ya ndani
- Ikiwa inapatikana, mteja anakubaliwa na Orange Pi
- VPN kwenye Orange Pi husimbua pakiti na kuzirudisha kwenye kipanga njia
- Router huwaelekeza mahali fulani
Mfano wa utekelezaji
Kwa hiyo, hebu sema tuna mitandao miwili kwenye router - kuu (1) na mgeni (2), kwa kila mmoja wao kuna seva ya OpenVPN ya kuunganisha nje.
Usanidi wa mtandao
Tunahitaji kuelekeza mitandao yote miwili kupitia lango moja, kwa hivyo tunaunda VLAN 2.
Kwenye kipanga njia, katika sehemu ya Mtandao/Kubadili, tunaunda VLAN (kwa mfano, 1 na 2) na kuziwezesha katika hali ya lebo kwenye bandari inayotakiwa, ongeza eth0.1 na eth0.2 mpya iliyoundwa kwa mitandao inayolingana (kwa kwa mfano, waongeze kwa brigde).
Kwenye Orange Pi tunaunda miingiliano miwili ya VLAN (nina Archlinux ARM + netctl):
/etc/netctl/vlan-main
Description='Main VLAN on eth0'
Interface=vlan-main
Connection=vlan
BindsToInterfaces=eth0
VLANID=1
IP=no
/etc/netctl/vlan-guest
Description='Guest VLAN on eth0'
Interface=vlan-guest
Connection=vlan
BindsToInterfaces=eth0
VLANID=2
IP=no
Na mara moja tunaunda madaraja mawili kwao:
/etc/netctl/br-main
Description="Main Bridge connection"
Interface=br-main
Connection=bridge
BindsToInterfaces=(vlan-main)
IP=dhcp
/etc/netctl/br-guest
Description="Guest Bridge connection"
Interface=br-guest
Connection=bridge
BindsToInterfaces=(vlan-guest)
IP=dhcp
Washa uanzishaji otomatiki kwa wasifu zote 4 (netctl wezesha). Sasa baada ya kuwasha upya, Orange Pi itaning'inia kwenye mitandao miwili inayohitajika. Tunasanidi anwani za kiolesura kwenye Orange Pi katika Ukodishaji Tuli kwenye kipanga njia.
ip nyongeza
4: vlan-main@eth0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-main state UP group default qlen 1000
link/ether 02:42:f0:f8:23:c8 brd ff:ff:ff:ff:ff:ff
inet6 fe80::42:f0ff:fef8:23c8/64 scope link
valid_lft forever preferred_lft forever
5: vlan-guest@eth0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-guest state UP group default qlen 1000
link/ether 02:42:f0:f8:23:c8 brd ff:ff:ff:ff:ff:ff
inet6 fe80::42:f0ff:fef8:23c8/64 scope link
valid_lft forever preferred_lft forever
6: br-main: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 52:c7:0f:89:71:6e brd ff:ff:ff:ff:ff:ff
inet 192.168.1.3/24 brd 192.168.1.255 scope global dynamic noprefixroute br-main
valid_lft 29379sec preferred_lft 21439sec
inet6 fe80::50c7:fff:fe89:716e/64 scope link
valid_lft forever preferred_lft forever
7: br-guest: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether ee:ea:19:31:34:32 brd ff:ff:ff:ff:ff:ff
inet 192.168.2.3/24 brd 192.168.2.255 scope global br-guest
valid_lft forever preferred_lft forever
inet6 fe80::ecea:19ff:fe31:3432/64 scope link
valid_lft forever preferred_lft forever
Kuanzisha VPN
Ifuatayo, tunakili mipangilio ya OpenVPN na funguo kutoka kwa kipanga njia. Mipangilio kawaida inaweza kupatikana ndani /tmp/etc/openvpn*.conf
Kwa chaguo-msingi, openvpn inayoendesha katika hali ya TAP na daraja la seva huweka kiolesura chake kutofanya kazi. Ili kila kitu kifanye kazi, unahitaji kuongeza hati inayoendesha wakati muunganisho umewashwa.
/etc/openvpn/main.conf
dev vpn-main
dev-type tap
client-to-client
persist-key
persist-tun
ca /etc/openvpn/main/ca.crt
cert /etc/openvpn/main/main.crt
cipher AES-256-CBC
comp-lzo yes
dh /etc/openvpn/main/dh2048.pem
ifconfig-pool-persist /etc/openvpn/ipp_main.txt
keepalive 10 60
key /etc/openvpn/main/main.key
port 443
proto tcp
push "redirect-gateway"
push "dhcp-option DNS 192.168.1.1"
server-bridge 192.168.1.3 255.255.255.0 192.168.1.200 192.168.1.229
status /tmp/openvpn.main.status
verb 3
setenv profile_name main
script-security 2
up /etc/openvpn/vpn-up.sh
/etc/openvpn/vpn-up.sh
#!/bin/sh
ifconfig vpn-${profile_name} up
brctl addif br-${profile_name} vpn-${profile_name}
Matokeo yake, mara tu uunganisho unapotokea, interface ya vpn-kuu itaongezwa kwa br-main. Kwa gridi ya wageni - vile vile, hadi jina la interface na anwani katika daraja la seva.
Kuelekeza maombi nje na uwakilishi
Katika hatua hii, Orange Pi tayari inaweza kukubali miunganisho na kuunganisha wateja kwenye mitandao inayohitajika. Yote iliyobaki ni kusanidi proksi ya miunganisho inayoingia kwenye router.
Tunahamisha seva za VPN za kipanga njia kwenye bandari zingine, sasisha HAProxy kwenye kipanga njia na usanidi:
/etc/haproxy.cfg
global
maxconn 256
uid 0
gid 0
daemon
defaults
retries 1
contimeout 1000
option splice-auto
listen guest_vpn
bind :444
mode tcp
server 0-orange 192.168.2.3:444 check
server 1-local 127.0.0.1:4444 check backup
listen main_vpn
bind :443
mode tcp
server 0-orange 192.168.1.3:443 check
server 1-local 127.0.0.1:4443 check backup
Furahia
Ikiwa kila kitu kilikwenda kulingana na mpango, wateja watabadilika kwa Orange Pi na processor ya router haitawaka tena, na kasi ya VPN itaongezeka kwa kiasi kikubwa. Wakati huo huo, sheria zote za mtandao ambazo zimesajiliwa kwenye router zitabaki muhimu. Katika tukio la ajali kwenye Orange Pi, itaanguka na HAProxy itahamisha wateja kwa seva za ndani.
Asante kwa umakini wako, mapendekezo na masahihisho yanakaribishwa.
Chanzo: mapenzi.com