Waad salaaman tihiin dhamaantiin, dhawaan baan akhriyay
Ujeeddo
Waxaa jira TP-Link WDR3500 router iyo Orange Pi Zero H2. Waxaan rabnaa Orange Pi si ay u sireeyaan tunnel-yada sida caadiga ah, oo haddii ay wax ku dhacaan, howsha VPN waxay ku soo noqon doontaa router-ka. Dhammaan goobaha dab-damiska ee router-ka waa inay u shaqeeyaan sidii hore. Iyo guud ahaan, ku darida qalab dheeri ah waa inay noqotaa mid hufan oo aan la dareemin qof walba. OpenVPN waxay ka shaqeysaa in ka badan TCP, adabtarada TAP waxay ku jirtaa qaabka buundada (server-bridge).
go'aanka
Halkii aan ku xidhi lahaa USB, waxaan go'aansaday inaan isticmaalo hal deked oo router ah oo aan ku xidho dhammaan shabakadaha hoose ee leh buundada VPN ee Orange Pi. Waxay soo baxday in qalabku jir ahaan ku xirnaan doono shabakadaha isku midka ah ee server-ka VPN ee router-ka. Taas ka dib, waxaan ku rakibnay isla isla server-ka Orange Pi, router-ka waxaan dejinay nooc wakiil ah si ay ugu dirto dhammaan xiriirada soo galaya server-ka dibadda, iyo haddii Orange Pi uu dhintay ama aan la heli karin, ka dibna server fallback gudaha. Waxaan qaatay HAProxy.
Waxay u egtahay sidan:
- macmiil ayaa imanaya
- Haddii serfarka dibadda aan la heli karin, sidii hore oo kale, xiriirku wuxuu tagayaa server-ka gudaha
- Haddii la heli karo, macmiilka waxaa aqbalay Orange Pi
- VPN-ka Orange Pi wuxuu furfuraa baakadaha oo dib ugu soo tufo router-ka
- Router-ku wuxuu u maraa meel
Tusaalaha fulinta
Marka, aynu nidhaahno waxaan ku leenahay laba shabakadood router - ugu weyn (1) iyo martida (2), mid kasta oo iyaga ka mid ah waxaa jira server OpenVPN ah oo loogu talagalay isku xirka dibadda.
Qaabeynta shabakada
Waxaan u baahanahay inaan labada shabakadood marno hal deked, markaa waxaan abuurnaa 2 VLANs.
Dhanka router-ka, qaybta Shabakadda/Beddelka, samee VLAN-yada (tusaale 1 iyo 2) oo u suurtageli habka sumadda leh ee dekedda la rabo, ku dar eth0.1 cusub iyo eth0.2 shabakadaha u dhigma (tusaale ahaan, ku darso guuto).
On Orange Pi waxaan ku abuureynaa laba VLAN interfaces (waxaan haystaa 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
Waxaana isla markiiba u abuurnay laba buundo.
/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
Daar autostart dhammaan 4-ta profile (netctl karti). Hadda ka dib dib-u-kicinta, Orange Pi wuxuu ku dhegganaan doonaa labada shabakadood ee loo baahan yahay. Waxaan ku habeyneynaa ciwaanka is dhexgalka ee Orange Pi ee Heshiisyada Joogtada ah ee router-ka.
ip addr show
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
Dejinta VPN
Marka xigta, waxaan nuqul ka samaynaa goobaha OpenVPN iyo furayaasha router-ka. Dejinta inta badan waxaa laga heli karaa gudaha /tmp/etc/openvpn*.conf
Sida caadiga ah, openvpn oo ku shaqeeya qaabka TAP iyo buundada server-ka waxay ilaalisaa is-dhexgalkeeda mid aan shaqayn. Si wax kastaa u shaqeeyaan, waxaad u baahan tahay inaad ku darto qoraal shaqaynaya marka xidhiidhku shaqaynayo.
/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}
Natiijo ahaan, isla marka xiriirku dhaco, interface-ka vpn-main ayaa lagu dari doonaa br-main. Shabakadda martida - si la mid ah, ilaa magaca interface iyo ciwaanka ee buundada server-ka.
Codsiyada habaynta dibadda iyo wakiilnimada
Tallaabadan, Orange Pi waxay mar hore awood u leedahay inay aqbasho isku xirka oo ay ku xirto macaamiisha shabakadaha loo baahan yahay. Waxa kaliya ee hadhay waa in la habeeyo wakiilnimada xidhiidhada soo galaya ee router-ka.
Waxaan u wareejinaa router VPN server dekedo kale, ku rakib HAProxy router oo aan ku habeyno:
/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
Ku raaxayso
Haddii wax walba u dhaceen sidii qorshuhu ahaa, macaamiishu waxay u wareegi doonaan Orange Pi oo processor-ka router-ku ma sii kululaan doono, xawaaraha VPN-na aad buu u kordhi doonaa. Isla mar ahaantaana, dhammaan sharciyada shabakada ee ka diiwaan gashan router-ka waxay ahaan doonaan kuwo khuseeya. Haddii ay dhacdo shil ka dhacay Orange Pi, way dhici doontaa oo HAProxy waxay u wareejin doontaa macaamiisha server-yada maxalliga ah.
Waad ku mahadsan tahay dareenkaaga, soo jeedinta iyo toosinta waa la soo dhaweynayaa.
Source: www.habr.com