Kumusta sa tanan, bag-o lang nako nabasa
Tumong
Adunay usa ka TP-Link WDR3500 router ug usa ka Orange Pi Zero H2. Gusto namon nga i-encrypt sa Orange Pi ang mga tunel sama sa naandan, ug kung adunay mahitabo niini, ang pagproseso sa VPN mobalik sa router. Ang tanan nga mga setting sa firewall sa router kinahanglan nga molihok sama kaniadto. Ug sa kinatibuk-an, ang pagdugang sa dugang nga hardware kinahanglan nga transparent ug dili mamatikdan sa tanan. Ang OpenVPN nagtrabaho sa TCP, ang TAP adapter naa sa bridge mode (server-bridge).
desisyon
Imbis nga magkonektar pinaagi sa USB, nakahukom ko nga gamiton ang usa ka pantalan sa router ug ikonektar ang tanan nga mga subnet nga adunay tulay sa VPN sa Orange Pi. Kini nahimo nga ang piraso sa hardware pisikal nga magbitay sa parehas nga mga network sama sa VPN server sa router. Pagkahuman niana, gi-install namon ang parehas nga mga server sa Orange Pi, ug sa router nag-set up kami usa ka matang sa proxy aron ipadala niini ang tanan nga umaabot nga koneksyon sa eksternal nga server, ug kung patay o wala ang Orange Pi, dayon sa internal nga fallback server. Gikuha nako ang HAProxy.
Kini nahimong sama niini:
- May niabot nga kliyente
- Kung ang eksternal nga server dili magamit, sama kaniadto, ang koneksyon moadto sa internal nga server
- Kung naa, ang kliyente gidawat sa Orange Pi
- Ang VPN sa Orange Pi nag-decrypt sa mga packet ug giluwa kini balik sa router
- Ang router nagtultol kanila bisan asa
Pananglitan sa pagpatuman
Busa, ingnon ta nga kami adunay duha ka network sa router - panguna (1) ug bisita (2), alang sa matag usa kanila adunay OpenVPN server alang sa pagkonektar sa gawas.
Konfigurasyon sa network
Kinahanglan namong i-ruta ang duha ka network pinaagi sa usa ka pantalan, mao nga maghimo kami og 2 ka VLAN.
Sa router, sa seksyon sa Network/Switch, paghimo og mga VLAN (pananglitan 1 ug 2) ug pahimoa sila sa tagged mode sa gusto nga pantalan, idugang ang bag-ong nahimo nga eth0.1 ug eth0.2 sa katugbang nga mga network (pananglitan, idugang sila sa brigde).
Sa Orange Pi naghimo kami og duha ka VLAN interface (ako adunay 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
Ug naghimo dayon kami og duha ka tulay alang kanila:
/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
I-enable ang autostart para sa tanang 4 ka profile (netctl enable). Karon human sa reboot, ang Orange Pi magbitay sa duha ka gikinahanglan nga mga network. Gi-configure namo ang mga address sa interface sa Orange Pi sa Static Leases sa router.
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
Pag-set up ug VPN
Sunod, gikopya namo ang mga setting alang sa OpenVPN ug mga yawe gikan sa router. Ang mga setting kasagarang makita sa /tmp/etc/openvpn*.conf
Sa kasagaran, ang openvpn nga nagdagan sa TAP mode ug server-bridge nagpugong sa interface niini nga dili aktibo. Aron molihok ang tanan, kinahanglan nimo nga idugang ang usa ka script nga nagdagan kung gi-aktibo ang koneksyon.
/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}
Ingon usa ka sangputanan, sa diha nga ang koneksyon mahitabo, ang vpn-main interface idugang sa br-main. Para sa guest grid - parehas, hangtod sa interface name ug address sa server-bridge.
Pag-ruta sa mga hangyo sa gawas ug pag-proxy
Niini nga lakang, ang Orange Pi makahimo na sa pagdawat sa mga koneksyon ug pagkonektar sa mga kliyente sa gikinahanglan nga mga network. Ang nahabilin mao ang pag-configure sa proxy sa umaabot nga mga koneksyon sa router.
Gibalhin namon ang mga server sa VPN sa router sa ubang mga pantalan, i-install ang HAProxy sa router ug i-configure:
/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
Enjoy
Kung ang tanan moadto sumala sa plano, ang mga kliyente mobalhin sa Orange Pi ug ang processor sa router dili na mag-init, ug ang katulin sa VPN modako pag-ayo. Sa parehas nga oras, ang tanan nga mga lagda sa network nga narehistro sa router magpabilin nga may kalabotan. Kung adunay aksidente sa Orange Pi, kini mahulog ug ang HAProxy magbalhin sa mga kliyente sa lokal nga mga server.
Salamat sa imong pagtagad, mga sugyot ug mga pagtul-id gidawat.
Source: www.habr.com