Openwrt เชฐเชพเช‰เชŸเชฐ เชชเชฐ OpenVPN เชจเซ‡ เชเชกเชชเซ€ เชฌเชจเชพเชตเชตเซเช‚. เชธเซ‹เชฒเซเชกเชฐเชฟเช‚เช— เช†เชฏเชฐเซเชจ เช…เชจเซ‡ เชนเชพเชฐเซเชกเชตเซ‡เชฐ เช‰เช—เซเชฐเชตเชพเชฆ เชตเชฟเชจเชพ เชตเซˆเช•เชฒเซเชชเชฟเช• เชธเช‚เชธเซเช•เชฐเชฃ

Openwrt เชฐเชพเช‰เชŸเชฐ เชชเชฐ OpenVPN เชจเซ‡ เชเชกเชชเซ€ เชฌเชจเชพเชตเชตเซเช‚. เชธเซ‹เชฒเซเชกเชฐเชฟเช‚เช— เช†เชฏเชฐเซเชจ เช…เชจเซ‡ เชนเชพเชฐเซเชกเชตเซ‡เชฐ เช‰เช—เซเชฐเชตเชพเชฆ เชตเชฟเชจเชพ เชตเซˆเช•เชฒเซเชชเชฟเช• เชธเช‚เชธเซเช•เชฐเชฃ

เชฌเชงเชพเชจเซ‡ เชนเซ‡เชฒเซ‹, เชฎเซ‡เช‚ เชคเชพเชœเซ‡เชคเชฐเชฎเชพเช‚ เชตเชพเช‚เชšเซเชฏเซเช‚ เชœเซ‚เชจเซ‹ เชฒเซ‡เช– เชนเชพเชฐเซเชกเชตเซ‡เชฐเชจเชพ เช…เชฒเช— เชญเชพเช—เชฎเชพเช‚ เชเชจเซเช•เซเชฐเชฟเชชเซเชถเชจ เชŸเซเชฐเชพเชจเซเชธเชซเชฐ เช•เชฐเซ€เชจเซ‡ เชคเชฎเซ‡ เชฐเชพเช‰เชŸเชฐ เชชเชฐ OpenVPN เชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชเชกเชชเซ€ เชฌเชจเชพเชตเซ€ เชถเช•เซ‹ เช›เซ‹ เชคเซ‡ เชตเชฟเชถเซ‡, เชœเซ‡ เชฐเชพเช‰เชŸเชฐเชจเซ€ เช…เช‚เชฆเชฐ เชœ เชธเซ‹เชฒเซเชกเชฐ เชฅเชฏเซ‡เชฒ เช›เซ‡. เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชฒเซ‡เช–เช• เชฎเชพเชŸเซ‡ เชธเชฎเชพเชจ เช•เซ‡เชธ เช›เซ‡ - TP-Link WDR3500 128 เชฎเซ‡เช—เชพเชฌเชพเช‡เชŸเซเชธ เชฐเซ‡เชฎ เชธเชพเชฅเซ‡ เช…เชจเซ‡ เชจเชฌเชณเชพ เชชเซเชฐเซ‹เชธเซ‡เชธเชฐ เชœเซ‡ เชŸเชจเชฒ เชเชจเซเช•เซเชฐเชฟเชชเซเชถเชจเชจเซ‹ เชธเชพเชฎเชจเซ‹ เช•เชฐเชตเชพเชฎเชพเช‚ เชธเช‚เชชเซ‚เชฐเซเชฃเชชเชฃเซ‡ เช…เชธเชฎเชฐเซเชฅ เช›เซ‡. เชœเซ‹ เช•เซ‡, เชนเซเช‚ เชธเซ‹เชฒเซเชกเชฐเชฟเช‚เช— เช†เชฏเชฐเซเชจ เชธเชพเชฅเซ‡ เชฐเชพเช‰เชŸเชฐเชฎเชพเช‚ เชชเซเชฐเชตเซ‡เชถเชตเชพ เชฎเชพเช‚เช—เชคเซ‹ เชจ เชนเชคเซ‹. เช…เช•เชธเซเชฎเชพเชคเชจเชพ เช•เชฟเชธเซเชธเชพเชฎเชพเช‚ เชฐเชพเช‰เชŸเชฐ เชชเชฐ เชฌเซ‡เช•เช…เชช เชธเชพเชฅเซ‡ เชนเชพเชฐเซเชกเชตเซ‡เชฐเชจเชพ เชเช• เช…เชฒเช— เชญเชพเช—เชฎเชพเช‚ OpenVPN เชจเซ‡ เช–เชธเซ‡เชกเชตเชพเชจเซ‹ เชฎเชพเชฐเซ‹ เช…เชจเซเชญเชต เชจเซ€เชšเซ‡ เช›เซ‡.

เช‰เชฆเซเชฆเซ‡เชถ

TP-Link WDR3500 เชฐเชพเช‰เชŸเชฐ เช…เชจเซ‡ เช“เชฐเซ‡เชจเซเชœ Pi Zero H2 เช›เซ‡. เช…เชฎเซ‡ เชˆเชšเซเช›เซ€เช เช›เซ€เช เช•เซ‡ Orange Pi เชŸเชจเชฒเชจเซ‡ เชนเช‚เชฎเซ‡เชถเชจเซ€ เชœเซ‡เชฎ เชเชจเซเช•เซเชฐเชฟเชชเซเชŸ เช•เชฐเซ‡, เช…เชจเซ‡ เชœเซ‹ เชคเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เช•เช‚เชˆเช• เชฅเชพเชฏ, เชคเซ‹ VPN เชชเซเชฐเซ‹เชธเซ‡เชธเชฟเช‚เช— เชฐเชพเช‰เชŸเชฐ เชชเชฐ เชชเชพเช›เซเช‚ เช†เชตเชถเซ‡. เชฐเชพเช‰เชŸเชฐ เชชเชฐเชจเซ€ เชคเชฎเชพเชฎ เชซเชพเชฏเชฐเชตเซ‹เชฒ เชธเซ‡เชŸเชฟเช‚เช—เซเชธ เชชเชนเซ‡เชฒเชพเชจเซ€ เชœเซ‡เชฎ เช•เชพเชฎ เช•เชฐเชตเซ€ เชœเซ‹เชˆเช. เช…เชจเซ‡ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡, เชตเชงเชพเชฐเชพเชจเชพ เชนเชพเชฐเซเชกเชตเซ‡เชฐ เช‰เชฎเซ‡เชฐเชตเชพเชจเซเช‚ เชชเชพเชฐเชฆเชฐเซเชถเช• เช…เชจเซ‡ เชฆเชฐเซ‡เช•เชจเซ‡ เชงเซเชฏเชพเชจเซ‡ เชจ เช†เชตเซ‡ เชคเซ‡เชตเซเช‚ เชนเซ‹เชตเซเช‚ เชœเซ‹เชˆเช. OpenVPN TCP เชชเชฐ เช•เชพเชฎ เช•เชฐเซ‡ เช›เซ‡, TAP เชเชกเซ‡เชชเซเชŸเชฐ เชฌเซเชฐเชฟเชœ เชฎเซ‹เชกเชฎเชพเช‚ เช›เซ‡ (เชธเชฐเซเชตเชฐ-เชฌเซเชฐเชฟเชœ).

เชจเชฟเชฐเซเชฃเชฏ

USB เชฆเซเชตเชพเชฐเชพ เช•เชจเซ‡เช•เซเชŸ เชฅเชตเชพเชจเซ‡ เชฌเชฆเชฒเซ‡, เชฎเซ‡เช‚ เชฐเชพเช‰เชŸเชฐเชจเชพ เชเช• เชชเซ‹เชฐเซเชŸเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซเช‚ เช…เชจเซ‡ VPN เชฌเซเชฐเชฟเชœ เชงเชฐเชพเชตเชคเชพ เชคเชฎเชพเชฎ เชธเชฌเชจเซ‡เชŸเซเชธเชจเซ‡ Orange Pi เชธเชพเชฅเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเชตเชพเชจเซเช‚ เชจเช•เซเช•เซ€ เช•เชฐเซเชฏเซเช‚. เชคเซ‡ เชคเชพเชฐเชฃ เช†เชชเซ‡ เช›เซ‡ เช•เซ‡ เชนเชพเชฐเซเชกเชตเซ‡เชฐ เชฐเชพเช‰เชŸเชฐ เชชเชฐเชจเชพ VPN เชธเชฐเซเชตเชฐ เชœเซ‡เชตเชพ เชœ เชจเซ‡เชŸเชตเชฐเซเช•เซเชธเชฎเชพเช‚ เชญเซŒเชคเชฟเช• เชฐเซ€เชคเซ‡ เช…เชŸเช•เซ€ เชœเชถเซ‡. เชคเซ‡ เชชเช›เซ€, เช…เชฎเซ‡ เช“เชฐเซ‡เชจเซเชœ เชชเชพเช‡ เชชเชฐ เชฌเชฐเชพเชฌเชฐ เช เชœ เชธเชฐเซเชตเชฐเซเชธ เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ€เช เช›เซ€เช, เช…เชจเซ‡ เชฐเชพเช‰เชŸเชฐ เชชเชฐ เช…เชฎเซ‡ เช…เชฎเซเช• เชชเซเชฐเช•เชพเชฐเชจเซ€ เชชเซเชฐเซ‹เช•เซเชธเซ€ เชธเซ‡เชŸ เช•เชฐเซ€เช เช›เซ€เช เชœเซ‡เชฅเซ€ เช•เชฐเซ€เชจเซ‡ เชคเซ‡ เชคเชฎเชพเชฎ เช‡เชจเช•เชฎเชฟเช‚เช— เช•เชจเซ‡เช•เซเชถเชจเซเชธ เชฌเชพเชนเซเชฏ เชธเชฐเซเชตเชฐ เชชเชฐ เชฎเซ‹เช•เชฒเซ‡, เช…เชจเซ‡ เชœเซ‹ เช“เชฐเซ‡เชจเซเชœ เชชเชพเช‡ เชฎเซƒเชค เช…เชฅเชตเชพ เช…เชจเซเชชเชฒเชฌเซเชง เชนเซ‹เชฏ, เชคเซ‹ เชชเช›เซ€ เช†เช‚เชคเชฐเชฟเช• เชซเซ‹เชฒเชฌเซ‡เช• เชธเชฐเซเชตเชฐ. เชฎเซ‡เช‚ HAProxy เชฒเซ€เชงเซ€.

เชคเซ‡ เช†เชจเซ€ เชœเซ‡เชฎ เชฌเชนเชพเชฐ เช†เชตเซ‡ เช›เซ‡:

  1. เชเช• เช—เซเชฐเชพเชนเช• เช†เชตเซ‡ เช›เซ‡
  2. เชœเซ‹ เชฌเชพเชนเซเชฏ เชธเชฐเซเชตเชฐ เช…เชจเซเชชเชฒเชฌเซเชง เชนเซ‹เชฏ, เชคเซ‹ เชชเชนเซ‡เชฒเชพเชจเซ€ เชœเซ‡เชฎ, เช•เชจเซ‡เช•เซเชถเชจ เช†เช‚เชคเชฐเชฟเช• เชธเชฐเซเชตเชฐ เชชเชฐ เชœเชพเชฏ เช›เซ‡
  3. เชœเซ‹ เช‰เชชเชฒเชฌเซเชง เชนเซ‹เชฏ, เชคเซ‹ เช•เซเชฒเชพเชฏเชจเซเชŸเชจเซ‡ Orange Pi เชฆเซเชตเชพเชฐเชพ เชธเซเชตเซ€เช•เชพเชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡
  4. Orange Pi เชชเชฐ VPN เชชเซ‡เช•เซ‡เชŸเซ‹เชจเซ‡ เชกเชฟเช•เซเชฐเชฟเชชเซเชŸ เช•เชฐเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ‡ เชฐเชพเช‰เชŸเชฐเชฎเชพเช‚ เชชเชพเช›เชพ เชซเซ‡เช‚เช•เซ‡ เช›เซ‡
  5. เชฐเชพเช‰เชŸเชฐ เชคเซ‡เชฎเชจเซ‡ เช•เซเชฏเชพเช‚เช• เชฐเซ‚เชŸ เช•เชฐเซ‡ เช›เซ‡

เช…เชฎเชฒเซ€เช•เชฐเชฃ เช‰เชฆเชพเชนเชฐเชฃ

เชคเซ‡เชฅเซ€, เชšเชพเชฒเซ‹ เช•เชนเซ€เช เช•เซ‡ เชฐเชพเช‰เชŸเชฐ เชชเชฐ เช…เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ เชฌเซ‡ เชจเซ‡เชŸเชตเชฐเซเช• เช›เซ‡ - เชฎเซเช–เซเชฏ (1) เช…เชจเซ‡ เช…เชคเชฟเชฅเชฟ (2), เชคเซ‡เชฎเชพเช‚เชฅเซ€ เชฆเชฐเซ‡เช• เชฎเชพเชŸเซ‡ เชฌเชพเชนเซเชฏ เชฐเซ€เชคเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชเช• OpenVPN เชธเชฐเซเชตเชฐ เช›เซ‡.

เชจเซ‡เชŸเชตเชฐเซเช• เช—เซ‹เช เชตเชฃเซ€

เช†เชชเชฃเซ‡ เชฌเช‚เชจเซ‡ เชจเซ‡เชŸเชตเชฐเซเช•เชจเซ‡ เชเช• เชชเซ‹เชฐเซเชŸ เชฆเซเชตเชพเชฐเชพ เชฐเซ‚เชŸ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡, เชคเซ‡เชฅเซ€ เช…เชฎเซ‡ 2 VLAN เชฌเชจเชพเชตเซ€เช เช›เซ€เช.

เชฐเชพเช‰เชŸเชฐ เชชเชฐ, เชจเซ‡เชŸเชตเชฐเซเช•/เชธเซเชตเชฟเชš เชตเชฟเชญเชพเช—เชฎเชพเช‚, VLAN เชฌเชจเชพเชตเซ‹ (เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡ 1 เช…เชจเซ‡ 2) เช…เชจเซ‡ เชคเซ‡เชฎเชจเซ‡ เช‡เชšเซเช›เชฟเชค เชชเซ‹เชฐเซเชŸ เชชเชฐ เชŸเซ‡เช— เช•เชฐเซ‡เชฒเชพ เชฎเซ‹เชกเชฎเชพเช‚ เชธเช•เซเชทเชฎ เช•เชฐเซ‹, เชจเชตเชพ เชฌเชจเชพเชตเซ‡เชฒเชพ eth0.1 เช…เชจเซ‡ eth0.2 เชจเซ‡ เชธเช‚เชฌเช‚เชงเชฟเชค เชจเซ‡เชŸเชตเชฐเซเช•เซเชธเชฎเชพเช‚ เช‰เชฎเซ‡เชฐเซ‹ (เช‰เชฆเชพเชนเชฐเชฃ เชคเชฐเซ€เช•เซ‡, เชคเซ‡เชฎเชจเซ‡ เชฌเซเชฐเชฟเช—เซ‡เชกเชฎเชพเช‚ เช‰เชฎเซ‡เชฐเซ‹).

Orange Pi เชชเชฐ เช…เชฎเซ‡ เชฌเซ‡ VLAN เช‡เชจเซเชŸเชฐเชซเซ‡เชธ เชฌเชจเชพเชตเซ€เช เช›เซ€เช (เชฎเชพเชฐเซ€ เชชเชพเชธเซ‡ 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-เช—เซ‡เชธเซเชŸ

Description="Guest Bridge connection"
Interface=br-guest
Connection=bridge
BindsToInterfaces=(vlan-guest)
IP=dhcp

เชคเชฎเชพเชฎ 4 เชชเซเชฐเซ‹เชซเชพเช‡เชฒเซเชธ เชฎเชพเชŸเซ‡ เช‘เชŸเซ‹เชธเซเชŸเชพเชฐเซเชŸ เชธเช•เซเชทเชฎ เช•เชฐเซ‹ (netctl enable). เชนเชตเซ‡ เชฐเซ€เชฌเซ‚เชŸ เช•เชฐเซเชฏเชพ เชชเช›เซ€, เช“เชฐเซ‡เชจเซเชœ เชชเชพเช‡ เชฌเซ‡ เชœเชฐเซ‚เชฐเซ€ เชจเซ‡เชŸเชตเชฐเซเช• เชชเชฐ เช…เชŸเช•เซ€ เชœเชถเซ‡. เช…เชฎเซ‡ เชฐเชพเช‰เชŸเชฐ เชชเชฐ เชธเซเชŸเซ‡เชŸเชฟเช• เชฒเซ€เชเชฎเชพเช‚ Orange Pi เชชเชฐ เช‡เชจเซเชŸเชฐเชซเซ‡เชธ เชธเชฐเชจเชพเชฎเชพเช‚ เช—เซ‹เช เชตเซ€เช เช›เซ€เช.

เช†เช‡เชชเซ€ เชเชกเซเชฐเซ‡เชธ เชถเซ‹

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 เชฎเชพเชŸเซ‡เชจเซ€ เชธเซ‡เชŸเชฟเช‚เช—เซเชธ เช…เชจเซ‡ เชฐเชพเช‰เชŸเชฐเชฎเชพเช‚เชฅเซ€ เช•เซ€เชจเซ€ เชจเช•เชฒ เช•เชฐเซ€เช เช›เซ€เช. เชธเซ‡เชŸเชฟเช‚เช—เซเชธเชฎเชพเช‚ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เชฎเชณเซ€ เชถเช•เซ‡ เช›เซ‡ /tmp/etc/openvpn*.conf

เชฎเซ‚เชณเชญเซ‚เชค เชฐเซ€เชคเซ‡, TAP เชฎเซ‹เชกเชฎเชพเช‚ เชšเชพเชฒเซ€ เชฐเชนเซ‡เชฒ เช“เชชเชจเชตเซ€เชชเซ€เชเชจ เช…เชจเซ‡ เชธเชฐเซเชตเชฐ-เชฌเซเชฐเชฟเชœ เชคเซ‡เชจเชพ เช‡เชจเซเชŸเชฐเชซเซ‡เชธเชจเซ‡ เชจเชฟเชทเซเช•เซเชฐเชฟเชฏ เชฐเชพเช–เซ‡ เช›เซ‡. เชฌเชงเซเช‚ เช•เชพเชฎ เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เชคเชฎเชพเชฐเซ‡ เชเช• เชธเซเช•เซเชฐเชฟเชชเซเชŸ เช‰เชฎเซ‡เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เชœเซ‡ เช•เชจเซ‡เช•เซเชถเชจ เชธเช•เซเชฐเชฟเชฏ เชฅเชพเชฏ เชคเซเชฏเชพเชฐเซ‡ เชšเชพเชฒเซ‡ เช›เซ‡.

/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-เชฎเซเช–เซเชฏ เช‡เชจเซเชŸเชฐเชซเซ‡เชธ br-main เชฎเชพเช‚ เช‰เชฎเซ‡เชฐเชตเชพเชฎเชพเช‚ เช†เชตเชถเซ‡. เช—เซ‡เชธเซเชŸ เช—เซเชฐเซ€เชก เชฎเชพเชŸเซ‡ - เช เชœ เชฐเซ€เชคเซ‡, เชธเชฐเซเชตเชฐ-เชฌเซเชฐเชฟเชœเชฎเชพเช‚ เช‡เชจเซเชŸเชฐเชซเซ‡เชธเชจเชพ เชจเชพเชฎ เช…เชจเซ‡ เชธเชฐเชจเชพเชฎเชพ เชธเซเชงเซ€.

เชฐเซ‚เชŸเซ€เช‚เช— เชตเชฟเชจเช‚เชคเซ€เช“ เชฌเชพเชนเซเชฏ เช…เชจเซ‡ เชชเซเชฐเซ‹เช•เซเชธเซ€เช‚เช—

เช† เชชเช—เชฒเชพ เชชเชฐ, Orange Pi เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เช•เชจเซ‡เช•เซเชถเชจ เชธเซเชตเซ€เช•เชพเชฐเชตเชพเชฎเชพเช‚ เช…เชจเซ‡ เช•เซเชฒเชพเชฏเช‚เชŸเชจเซ‡ เชœเชฐเซ‚เชฐเซ€ เชจเซ‡เชŸเชตเชฐเซเช•เซเชธ เชธเชพเชฅเซ‡ เช•เชจเซ‡เช•เซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เชธเช•เซเชทเชฎ เช›เซ‡. เชœเซ‡ เชฌเชพเช•เซ€ เช›เซ‡ เชคเซ‡ เชฐเชพเช‰เชŸเชฐ เชชเชฐ เช†เชตเชจเชพเชฐเชพ เช•เชจเซ‡เช•เซเชถเชจเซเชธเชจเชพ เชชเซเชฐเซ‹เช•เซเชธเซ€เช‚เช—เชจเซ‡ เช—เซ‹เช เชตเชตเชพเชจเซเช‚ เช›เซ‡.

เช…เชฎเซ‡ เชฐเชพเช‰เชŸเชฐ VPN เชธเชฐเซเชตเชฐเชจเซ‡ เช…เชจเซเชฏ เชชเซ‹เชฐเซเชŸ เชชเชฐ เชธเซเชฅเชพเชจเชพเช‚เชคเชฐเชฟเชค เช•เชฐเซ€เช เช›เซ€เช, เชฐเชพเช‰เชŸเชฐ เชชเชฐ HAProxy เช‡เชจเซเชธเซเชŸเซ‹เชฒ เช•เชฐเซ€เช เช›เซ€เช เช…เชจเซ‡ เช—เซ‹เช เชตเซ€เช เช›เซ€เช:

/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

เชฎเชพเชฃเซ‹

เชœเซ‹ เชฌเชงเซเช‚ เชฏเซ‹เชœเชจเชพ เชฎเซเชœเชฌ เชšเชพเชฒเซเชฏเซเช‚ เชนเซ‹เชฏ, เชคเซ‹ เช•เซเชฒเชพเชฏเช‚เชŸ เช“เชฐเซ‡เชจเซเชœ เชชเชพเชˆ เชชเชฐ เชธเซเชตเชฟเชš เช•เชฐเชถเซ‡ เช…เชจเซ‡ เชฐเชพเช‰เชŸเชฐเชจเซเช‚ เชชเซเชฐเซ‹เชธเซ‡เชธเชฐ เชนเชตเซ‡ เช—เชฐเชฎ เชฅเชถเซ‡ เชจเชนเซ€เช‚, เช…เชจเซ‡ VPN เชเชกเชช เชจเซ‹เช‚เชงเชชเชพเชคเซเชฐ เชฐเซ€เชคเซ‡ เชตเชงเชถเซ‡. เชคเซ‡ เชœ เชธเชฎเชฏเซ‡, เชฐเชพเช‰เชŸเชฐ เชชเชฐ เชจเซ‹เช‚เชงเชพเชฏเซ‡เชฒเชพ เชคเชฎเชพเชฎ เชจเซ‡เชŸเชตเชฐเซเช• เชจเชฟเชฏเชฎเซ‹ เชธเซเชธเช‚เช—เชค เชฐเชนเซ‡เชถเซ‡. Orange Pi เชชเชฐ เช…เช•เชธเซเชฎเชพเชคเชจเซ€ เช˜เชŸเชจเชพเชฎเชพเช‚, เชคเซ‡ เชชเชกเซ€ เชœเชถเซ‡ เช…เชจเซ‡ HAProxy เช—เซเชฐเชพเชนเช•เซ‹เชจเซ‡ เชธเซเชฅเชพเชจเชฟเช• เชธเชฐเซเชตเชฐ เชชเชฐ เชธเซเชฅเชพเชจเชพเช‚เชคเชฐเชฟเชค เช•เชฐเชถเซ‡.

เชคเชฎเชพเชฐเชพ เชงเซเชฏเชพเชจ เชฌเชฆเชฒ เช†เชญเชพเชฐ, เชธเซ‚เชšเชจเซ‹ เช…เชจเซ‡ เชธเซเชงเชพเชฐเชพเช“ เช†เชตเช•เชพเชฐเซเชฏ เช›เซ‡.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹