เป€เบฅเบฑเปˆเบ‡ OpenVPN เปƒเบ™เป€เบฃเบปเบฒเป€เบ•เบต Openwrt. เบชเบฐโ€‹เบšเบฑเบšโ€‹เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เป‚เบ”เบโ€‹เบšเปเปˆโ€‹เบกเบตโ€‹เบเบฒเบ™ soldering เป€เบซเบผเบฑเบโ€‹เบเป‰เบฒโ€‹เปเบฅเบฐ hardware extremismโ€‹

เป€เบฅเบฑเปˆเบ‡ OpenVPN เปƒเบ™เป€เบฃเบปเบฒเป€เบ•เบต Openwrt. เบชเบฐโ€‹เบšเบฑเบšโ€‹เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เป‚เบ”เบโ€‹เบšเปเปˆโ€‹เบกเบตโ€‹เบเบฒเบ™ soldering เป€เบซเบผเบฑเบโ€‹เบเป‰เบฒโ€‹เปเบฅเบฐ hardware extremismโ€‹

เบชเบฐเบšเบฒเบเบ”เบตเบ—เบธเบเบ„เบปเบ™, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบญเปˆเบฒเบ™เบšเปเปˆเบ”เบปเบ™เบกเบฒเบ™เบตเป‰ เบšเบปเบ”เบ„เบงเบฒเบกเป€เบเบปเปˆเบฒ เบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบ—เบตเปˆเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฅเบฑเปˆเบ‡ OpenVPN เปƒเบ™ router เป‚เบ”เบเบเบฒเบ™เป‚เบญเบ™เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เป„เบ›เบซเบฒเบฎเบฒเบ”เปเบงเบ—เบตเปˆเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ, เป€เบŠเบดเปˆเบ‡เบ–เบทเบ soldered เบžเบฒเบเปƒเบ™ router เบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡. เบ‚เป‰เบญเบเบกเบตเบเปเบฅเบฐเบ™เบตเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบšเบœเบนเป‰เบ‚เบฝเบ™ - TP-Link WDR3500 เบเบฑเบš 128 megabytes เบ‚เบญเบ‡ RAM เปเบฅเบฐเป‚เบ›เป€เบŠเบ”เป€เบŠเบตเบ—เบตเปˆเบšเปเปˆเบ”เบตเบ—เบตเปˆเบšเปเปˆเบชเบฒเบกเบฒเบ”เบฎเบฑเบšเบกเบทเบเบฑเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ” tunnel เป„เบ”เป‰เบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบšเปเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ router เบ—เบตเปˆเบกเบตเบ—เบฒเบ”เป€เบซเบผเบฑเบ soldering เป„เบ”เป‰. เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰เปเบกเปˆเบ™เบ›เบฐเบชเบปเบšเบเบฒเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบเปƒเบ™เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เบเป‰เบฒเบ OpenVPN เป„เบ›เบซเบฒเบŠเบดเป‰เบ™เบชเปˆเบงเบ™เบ‚เบญเบ‡เบฎเบฒเบ”เปเบงเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบ—เบตเปˆเบกเบตเบเบฒเบ™เบชเปเบฒเบฎเบญเบ‡เบขเบนเปˆเปƒเบ™ router เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบญเบธเบ›เบฐเบ•เบดเป€เบซเบ”.

เบˆเบธเบ”เบ›เบฐเบชเบปเบ‡

เบกเบตเป€เบฃเบปเบฒเป€เบ•เบต TP-Link WDR3500 เปเบฅเบฐ Orange Pi Zero H2. เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™ Orange Pi เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบญเบธเป‚เบกเบ‡เบ•เบฒเบกเบ›เบปเบเบเบฐเบ•เบด, เปเบฅเบฐเบ–เป‰เบฒเบกเบตเบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เป€เบเบตเบ”เบ‚เบถเป‰เบ™เบเบฑเบšเบกเบฑเบ™, เบเบฒเบ™เบ›เบฐเบกเบงเบ™เบœเบปเบ™ VPN เบˆเบฐเบเบฑเบšเบ„เบทเบ™เป„เบ›เบซเบฒ router. เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ Firewall เบ—เบฑเบ‡เปเบปเบ”เปƒเบ™ router เบ„เบงเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ„เบทเป€เบเบปเปˆเบฒ. เปเบฅเบฐเป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›, เบเบฒเบ™เป€เบžเบตเปˆเบกเบฎเบฒเบ”เปเบงเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบ„เบงเบ™เบˆเบฐเบกเบตเบ„เบงเบฒเบกเป‚เบ›เปˆเบ‡เปƒเบชเปเบฅเบฐเบšเปเปˆเบชเบฒเบกเบฒเบ”เบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™เป„เบ”เป‰เบเบฑเบšเบ—เบธเบเบ„เบปเบ™. OpenVPN เป€เบฎเบฑเบ”เบงเบฝเบเบœเปˆเบฒเบ™ TCP, เบญเบฐเปเบ”เบฑเบšเป€เบ•เบต TAP เบขเบนเปˆเปƒเบ™เป‚เปเบ”เบ‚เบปเบง (เป€เบŠเบตเบšเป€เบงเบต-เบ‚เบปเบง).

เบเบฒเบ™เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆ

เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบœเปˆเบฒเบ™ USB, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเปƒเบŠเป‰เบžเบญเบ”เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡ router เปเบฅเบฐเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ subnets เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบกเบตเบ‚เบปเบง VPN เบเบฑเบš Orange Pi. เบกเบฑเบ™เบ›เบฐเบเบปเบ”เบงเปˆเบฒเบฎเบฒเบ”เปเบงเบˆเบฐเบงเบฒเบ‡เบชเบฒเบเบขเบนเปˆเปƒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเป€เบŠเบตเบšเป€เบงเบต VPN เปƒเบ™เป€เบฃเบปเบฒเป€เบ•เบต. เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบžเบงเบเป€เบฎเบปเบฒเบ•เบดเบ”เบ•เบฑเป‰เบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ”เบฝเบงเบเบฑเบ™เบเบฑเบš Orange Pi, เปเบฅเบฐเปƒเบ™ router เบžเบงเบเป€เบฎเบปเบฒเบ•เบฑเป‰เบ‡เบšเบฒเบ‡เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡ proxy เป€เบžเบทเปˆเบญเปƒเบซเป‰เบกเบฑเบ™เบชเบปเปˆเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ‚เบฒเป€เบ‚เบปเป‰เบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เป„เบ›เบซเบฒเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบžเบฒเบเบ™เบญเบ, เปเบฅเบฐเบ–เป‰เบฒ Orange Pi เบ•เบฒเบเบซเบผเบทเบšเปเปˆเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เป„เบ›เบ—เบตเปˆ. เป€เบŠเบตเบšเป€เบงเบต fallback เบžเบฒเบเปƒเบ™. เบ‚เป‰เบญเบเป€เบญเบปเบฒ HAProxy.

เบกเบฑเบ™โ€‹เบซเบฑเบ™โ€‹เบญเบญเบโ€‹เป€เบ›เบฑเบ™โ€‹เบ”เบฑเปˆเบ‡โ€‹เบ™เบตเป‰โ€‹:

  1. เบฅเบนเบเบ„เป‰เบฒเบกเบฒเบฎเบญเบ”
  2. เบ–เป‰เบฒเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบžเบฒเบเบ™เบญเบเบšเปเปˆเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰, เบ”เบฑเปˆเบ‡เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ, เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป„เบ›เบซเบฒเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบžเบฒเบเปƒเบ™
  3. เบ–เป‰เบฒเบกเบต, เบฅเบนเบเบ„เป‰เบฒเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบเบญเบกเบฎเบฑเบšเป‚เบ”เบ Orange Pi
  4. VPN เบขเบนเปˆเปƒเบ™ Orange Pi เบ–เบญเบ”เบฅเบฐเบซเบฑเบ”เปเบžเบฑเบเป€เบเบฑเบ” เปเบฅเบฐเบ–เบปเปˆเบกเบžเบงเบเบกเบฑเบ™เบเบฑเบšเบ„เบทเบ™เปƒเบชเปˆเป€เบฃเบปเบฒเป€เบ•เบต
  5. เป€เบฃเบปเบฒเป€เบ•เบตเบˆเบฐเบ™เบณเบ—เบฒเบ‡เบžเบงเบเบกเบฑเบ™เป„เบ›เบšเปˆเบญเบ™เปƒเบ”เบšเปˆเบญเบ™เปœเบถเปˆเบ‡

เบ•เบปเบงเบขเปˆเบฒเบ‡เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เปƒเบซเป‰เป€เบงเบปเป‰เบฒเบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบกเบตเบชเบญเบ‡เป€เบ„เบทเบญเบ‚เปˆเบฒเบเปƒเบ™ router - main(1) เปเบฅเบฐ guest(2), เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบ„เบปเบ™เบกเบตเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ OpenVPN เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบžเบฒเบเบ™เบญเบ.

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบ„เบทเบญเบ‚เปˆเบฒเบ

เบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบ—เบฑเบ‡เบชเบญเบ‡เป€เบ„เบทเบญเบ‚เปˆเบฒเบเป‚เบ”เบเบœเปˆเบฒเบ™เบžเบญเบ”เบ”เบฝเบง, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบžเบงเบเป€เบฎเบปเบฒเบชเป‰เบฒเบ‡ 2 VLANs.

เปƒเบ™เป€เบฃเบปเบฒเป€เบ•เบต, เปƒเบ™เบžเบฒเบ Network/Switch, เบชเป‰เบฒเบ‡ VLANs (เบ•เบปเบงเบขเปˆเบฒเบ‡ 1 เปเบฅเบฐ 2) เปเบฅเบฐเป€เบ›เบตเบ”เปƒเบŠเป‰เบžเบงเบเบกเบฑเบ™เปƒเบ™เบฎเบนเบšเปเบšเบš tagged เปƒเบ™เบžเบญเบ”เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™, เป€เบžเบตเปˆเบก eth0.1 เปเบฅเบฐ eth0.2 เบ—เบตเปˆเบชเป‰เบฒเบ‡เปƒเบซเบกเปˆเปƒเบชเปˆเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบ™ (เบ•เบปเบงเบขเปˆเบฒเบ‡: เป€เบžเบตเปˆเบกเบžเบงเบเบกเบฑเบ™เปƒเบชเปˆ brigde).

เปƒเบ™ Orange Pi เบžเบงเบเป€เบฎเบปเบฒเบชเป‰เบฒเบ‡เบชเบญเบ‡ VLAN interfaces (เบ‚เป‰เบญเบเบกเบต 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

เปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบชเป‰เบฒเบ‡เบ‚เบปเบงเบชเบญเบ‡เปเบซเปˆเบ‡เปƒเบซเป‰เบžเบงเบเบกเบฑเบ™เบ—เบฑเบ™เบ—เบต:

/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

เป€เบ›เบตเบ”เปƒเบŠเป‰ autostart เบชเปเบฒเบฅเบฑเบšเบ—เบฑเบ‡เบซเบกเบปเบ” 4 เป‚เบ›เบฃเป„เบŸเบฅเปŒ (netctl เป€เบ›เบตเบ”). เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบ›เบดเบ”เป€เบ›เบตเบ”เปƒเบซเบกเปˆ, Orange Pi เบˆเบฐเบงเบฒเบ‡เบชเบฒเบเบขเบนเปˆเปƒเบ™เบชเบญเบ‡เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™. เบžเบงเบเป€เบฎเบปเบฒเบเบณเบ™เบปเบ”เบ„เปˆเบฒเบ—เบตเปˆเบขเบนเปˆเบชเปˆเบงเบ™เบ•เบดเบ”เบ•เปเปˆเปƒเบ™ Orange Pi เปƒเบ™ Static Leases เปƒเบ™ router.

ip addr เบชเบฐเปเบ”เบ‡

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

เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ VPN

เบ•เปเปˆเป„เบ›, เบžเบงเบเป€เบฎเบปเบฒเบ„เบฑเบ”เบฅเบญเบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบชเปเบฒเบฅเบฑเบš OpenVPN เปเบฅเบฐเบ„เบตเบˆเบฒเบ router. เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเบชเบฒเบกเบฒเบ”เบžเบปเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปƒเบ™ /tmp/etc/openvpn*.conf

เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, openvpn เปเบฅเปˆเบ™เบขเบนเปˆเปƒเบ™เป‚เบซเบกเบ” TAP เปเบฅเบฐ server-bridge เบฎเบฑเบเบชเบฒเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ‚เบญเบ‡เบกเบฑเบ™เบšเปเปˆเป€เบ„เบทเปˆเบญเบ™เป„เบซเบง. เป€เบžเบทเปˆเบญเปƒเบซเป‰เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เป€เบฎเบฑเบ”เบงเบฝเบ, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบžเบตเปˆเบกเบชเบฐเบ„เบดเบšเบ—เบตเปˆเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป€เบกเบทเปˆเบญเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰.

/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}

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ—เบฑเบ™เบ—เบตเบ—เบตเปˆเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป€เบเบตเบ”เบ‚เบถเป‰เบ™, vpn-main interface เบˆเบฐเบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™ br-main. เบชเปเบฒเบฅเบฑเบšเบ•เบฒเบ‚เปˆเบฒเบเป„เบŸเบŸเป‰เบฒเบ‚เบญเบ‡เปเบ‚เบ - เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™, เป€เบ–เบดเบ‡เบŠเบทเปˆเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเปเบฅเบฐเบ—เบตเปˆเบขเบนเปˆเปƒเบ™ server-bridge.

เบเบณเบ™เบปเบ”เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบˆเบฒเบเบžเบฒเบเบ™เบญเบ เปเบฅเบฐ เบ•เบปเบงเปเบ—เบ™

เปƒเบ™เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ™เบตเป‰, Orange Pi เบชเบฒเบกเบฒเบ”เบเบญเบกเบฎเบฑเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเปเบฅเบฐเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบฅเบนเบเบ„เป‰เบฒเบเบฑเบšเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™. เบชเบดเปˆเบ‡เบ—เบตเปˆเบเบฑเบ‡เป€เบซเบผเบทเบญเปเบกเปˆเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ•เบปเบงเปเบ—เบ™เบ‚เบญเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ‚เบฒเป€เบ‚เบปเป‰เบฒเบขเบนเปˆเปƒเบ™ router.

เบžเบงเบเป€เบฎเบปเบฒเป‚เบญเบ™เป€เบŠเบตเบšเป€เบงเบต VPN เบ‚เบญเบ‡ router เป„เบ›เบซเบฒเบžเบญเบ”เบญเบทเปˆเบ™, เบ•เบดเบ”เบ•เบฑเป‰เบ‡ HAProxy เปƒเบ™ router เปเบฅเบฐ 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

เบกเปˆเบงเบ™

เบ–เป‰เบฒเบ—เบธเบเบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เป„เบ›เบ•เบฒเบกเปเบœเบ™เบเบฒเบ™, เบฅเบนเบเบ„เป‰เบฒเบˆเบฐเบ›เปˆเบฝเบ™เป„เบ›เปƒเบŠเป‰ Orange Pi เปเบฅเบฐเป‚เบ›เป€เบŠเบ”เป€เบŠเบตเบ‚เบญเบ‡เป€เบฃเบปเบฒเป€เบ•เบตเบˆเบฐเบšเปเปˆเบฎเป‰เบญเบ™เบญเบตเบเบ•เปเปˆเป„เบ›, เปเบฅเบฐเบ„เบงเบฒเบกเป„เบง VPN เบˆเบฐเป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบ. เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เบเบปเบ”เบฅเบฐเบšเบฝเบšเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบขเบนเปˆเปƒเบ™ router เบˆเบฐเบเบฑเบ‡เบ„เบปเบ‡เบเปˆเบฝเบงเบ‚เป‰เบญเบ‡. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ—เบตเปˆเป€เบเบตเบ”เบญเบธเบ›เบฐเบ•เบดเป€เบซเบ”เปƒเบ™ Orange Pi, เบกเบฑเบ™เบˆเบฐเบฅเบปเป‰เบกเบฅเบปเบ‡เปเบฅเบฐ HAProxy เบˆเบฐเป‚เบญเบ™เบฅเบนเบเบ„เป‰เบฒเป„เบ›เบซเบฒเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™.

เบ‚เปโ€‹เบ‚เบญเบšโ€‹เปƒเบˆโ€‹เบ—เปˆเบฒเบ™โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบ„เบงเบฒเบกโ€‹เบชเบปเบ™โ€‹เปƒเบˆโ€‹, เบ„เปเบฒโ€‹เปเบ™เบฐโ€‹เบ™เปเบฒโ€‹เปเบฅเบฐโ€‹เบเบฒเบ™โ€‹เปเบเป‰โ€‹เป„เบ‚โ€‹เปเบกเปˆเบ™โ€‹เบเบดเบ™โ€‹เบ”เบตโ€‹เบ•เป‰เบญเบ™โ€‹เบฎเบฑเบšโ€‹.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™