Openwrt рд░рд╛рдЙрдЯрд░рд╡рд░ OpenVPN рдЪрд╛ рд╡реЗрдЧ рд╡рд╛рдврд╡рдгреЗ. рд╕реЛрд▓реНрдбрд░рд┐рдВрдЧ рд▓реЛрд╣ рдЖрдгрд┐ рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рдЕрддрд┐рд░реЗрдХреАрд╢рд┐рд╡рд╛рдп рдкрд░реНрдпрд╛рдпреА рдЖрд╡реГрддреНрддреА

Openwrt рд░рд╛рдЙрдЯрд░рд╡рд░ OpenVPN рдЪрд╛ рд╡реЗрдЧ рд╡рд╛рдврд╡рдгреЗ. рд╕реЛрд▓реНрдбрд░рд┐рдВрдЧ рд▓реЛрд╣ рдЖрдгрд┐ рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рдЕрддрд┐рд░реЗрдХреАрд╢рд┐рд╡рд╛рдп рдкрд░реНрдпрд╛рдпреА рдЖрд╡реГрддреНрддреА

рд╕рд░реНрд╡рд╛рдВрдирд╛ рдирдорд╕реНрдХрд╛рд░, рдореА рдиреБрдХрддреЗрдЪ рд╡рд╛рдЪрд▓реЗ рдЬреБрдирд╛ рд▓реЗрдЦ рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░рдЪреНрдпрд╛ рд╡реЗрдЧрд│реНрдпрд╛ рддреБрдХрдбреНрдпрд╛рдд рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░реВрди рд░рд╛рдЙрдЯрд░рд╡рд░ рдУрдкрдирд╡реНрд╣реАрдкреАрдПрдирдЪрд╛ рд╡реЗрдЧ рдХрд╕рд╛ рд╡рд╛рдврд╡рддрд╛ рдпреЗрдИрд▓ рдпрд╛рдмрджреНрджрд▓, рдЬреЗ рд░рд╛рдЙрдЯрд░рдордзреНрдпреЗрдЪ рд╕реЛрд▓реНрдбрд░ рдХреЗрд▓реЗ рдЬрд╛рддреЗ. рдорд╛рдЭреНрдпрд╛рдХрдбреЗ рд▓реЗрдЦрдХрд╛рд╢реА рдПрдХ рд╕рдорд╛рди рдХреЗрд╕ рдЖрд╣реЗ - TP-Link WDR3500 128 рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рд░реЕрдорд╕рд╣ рдЖрдгрд┐ рдПрдХ рдЦрд░рд╛рдм рдкреНрд░реЛрд╕реЗрд╕рд░ рдЬреЛ рд╕реБрд░рдВрдЧ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рдирдЪрд╛ рд╕рд╛рдордирд╛ рдХрд░рдгреНрдпрд╛рд╕ рдкреВрд░реНрдгрдкрдгреЗ рдЕрдХреНрд╖рдо рдЖрд╣реЗ. рддрдерд╛рдкрд┐, рдорд▓рд╛ рд╕реЛрд▓реНрдбрд░рд┐рдВрдЧ рд▓реЛрд╣рд╛рд╕рд╣ рд░рд╛рдЙрдЯрд░рдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рд╛рдпрдЪрд╛ рдирд╡реНрд╣рддрд╛. рдЕрдкрдШрд╛рдд рдЭрд╛рд▓реНрдпрд╛рд╕ рд░рд╛рдЙрдЯрд░рд╡рд░ рдмреЕрдХрдЕрдкрд╕рд╣ рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░рдЪреНрдпрд╛ рд╡реЗрдЧрд│реНрдпрд╛ рддреБрдХрдбреНрдпрд╛рд╡рд░ OpenVPN рд╣рд▓рд╡рдгреНрдпрд╛рдЪрд╛ рдорд╛рдЭрд╛ рдЕрдиреБрднрд╡ рдЦрд╛рд▓реА рдЖрд╣реЗ.

рдЙрджреНрджрд┐рд╖реНрдЯ

рдПрдХ TP-Link WDR3500 рд░рд╛рдЙрдЯрд░ рдЖрдгрд┐ Orange Pi Zero H2 рдЖрд╣реЗ. рдСрд░реЗрдВрдЬ рдкрд╛рдИ рдиреЗ рдиреЗрд╣рдореАрдкреНрд░рдорд╛рдгреЗ рдмреЛрдЧрджреЗ рдХреВрдЯрдмрджреНрдз рдХрд░рд╛рд╡реЗ рдЕрд╢реА рдЖрдордЪреА рдЗрдЪреНрдЫрд╛ рдЖрд╣реЗ рдЖрдгрд┐ рддреНрдпрд╛рдд рдХрд╛рд╣реА рдШрдбрд▓реНрдпрд╛рд╕, VPN рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд░рд╛рдЙрдЯрд░рд╡рд░ рдкрд░рдд рдпреЗрдИрд▓. рд░рд╛рдЙрдЯрд░рд╡рд░реАрд▓ рд╕рд░реНрд╡ рдлрд╛рдпрд░рд╡реЙрд▓ рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдкреВрд░реНрд╡реАрдкреНрд░рдорд╛рдгреЗрдЪ рдХрд╛рд░реНрдп рдХрд░рддрд╛рдд. рдЖрдгрд┐ рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдгрдкрдгреЗ, рдЕрддрд┐рд░рд┐рдХреНрдд рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рдЬреЛрдбрдгреЗ рдкрд╛рд░рджрд░реНрд╢рдХ рдЖрдгрд┐ рдкреНрд░рддреНрдпреЗрдХрд╛рдЪреНрдпрд╛ рд▓рдХреНрд╖рд╛рдд рди рдпреЗрдгрд╛рд░реЗ рдЕрд╕рд╛рд╡реЗ. OpenVPN TCP рд╡рд░ рдХрд╛рд░реНрдп рдХрд░рддреЗ, TAP рдЕрдбреЕрдкреНрдЯрд░ рдмреНрд░рд┐рдЬ рдореЛрдбрдордзреНрдпреЗ рдЖрд╣реЗ (рд╕рд░реНрд╡реНрд╣рд░-рдмреНрд░рд┐рдЬ).

рдирд┐рд░реНрдгрдп

рдпреВрдПрд╕рдмреА рджреНрд╡рд╛рд░реЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдгреНрдпрд╛рдРрд╡рдЬреА, рдореА рд░рд╛рдЙрдЯрд░рдЪрд╛ рдПрдХ рдкреЛрд░реНрдЯ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪрд╛ рдЖрдгрд┐ 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 рд╕рдХреНрд╖рдо). рдЖрддрд╛ рд░реАрдмреВрдЯ рдХреЗрд▓реНрдпрд╛рдирдВрддрд░, рдСрд░реЗрдВрдЬ рдкрд╛рдИ рджреЛрди рдЖрд╡рд╢реНрдпрдХ рдиреЗрдЯрд╡рд░реНрдХрд╡рд░ рд╣рдБрдЧ рд╣реЛрдИрд▓. рдЖрдореНрд╣реА рд░рд╛рдЙрдЯрд░рд╡рд░реАрд▓ рдСрд░реЗрдВрдЬ рдкрд╛рдИ рд╡рд░реАрд▓ рдЗрдВрдЯрд░рдлреЗрд╕ рдкрддреНрддреЗ рд╕реНрдЯреЕрдЯрд┐рдХ рд▓реАрдЬрдордзреНрдпреЗ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рддреЛ.

рдЖрдпрдкреА рдкрддреНрддрд╛ рд╢реЛ

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

рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░, рдУрдкрдирд╡реНрд╣реАрдкреАрдПрди рдЯреАрдПрдкреА рдореЛрдбрдордзреНрдпреЗ рдЪрд╛рд▓рддреЗ рдЖрдгрд┐ рд╕рд░реНрд╡реНрд╣рд░-рдмреНрд░рд┐рдЬ рддреНрдпрд╛рдЪрд╛ рдЗрдВрдЯрд░рдлреЗрд╕ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдареЗрд╡рддреЛ. рд╕рд░реНрд╡рдХрд╛рд╣реА рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреЛрдбрдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ рдЬреА рдХрдиреЗрдХреНрд╢рди рд╕рдХреНрд░рд┐рдп рдЭрд╛рд▓реНрдпрд╛рд╡рд░ рдЪрд╛рд▓рддреЗ.

/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 рдордзреНрдпреЗ рдЬреЛрдбрд▓рд╛ рдЬрд╛рдИрд▓. рдЕрддрд┐рдереА рдЧреНрд░рд┐рдбрд╕рд╛рдареА - рддреНрдпрд╛рдЪрдкреНрд░рдорд╛рдгреЗ, рд╕рд░реНрд╡реНрд╣рд░-рдмреНрд░рд┐рдЬрдордзреАрд▓ рдЗрдВрдЯрд░рдлреЗрд╕ рдирд╛рд╡ рдЖрдгрд┐ рдкрддреНрддреНрдпрд╛рдкрд░реНрдпрдВрдд.

рд░рд╛рдЙрдЯрд┐рдВрдЧ рд╡рд┐рдирдВрддреА рдмрд╛рд╣реНрдпрд░рд┐рддреНрдпрд╛ рдЖрдгрд┐ рдкреНрд░реЙрдХреНрд╕реА рдХрд░рдгреЗ

рдпрд╛ рдкрд╛рдпрд░реАрд╡рд░, рдСрд░реЗрдВрдЬ рдкрд╛рдИ рдЖрдзреАрдкрд╛рд╕реВрдирдЪ рдХрдиреЗрдХреНрд╢рди рд╕реНрд╡реАрдХрд╛рд░рдгреНрдпрд╛рд╕ рдЖрдгрд┐ рдХреНрд▓рд╛рдпрдВрдЯрд▓рд╛ рдЖрд╡рд╢реНрдпрдХ рдиреЗрдЯрд╡рд░реНрдХрд╢реА рдХрдиреЗрдХреНрдЯ рдХрд░рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдЖрд╣реЗ. рд░рд╛рдЙрдЯрд░рд╡рд░ рдпреЗрдгрд╛рд░реНтАНрдпрд╛ рдХрдиреЗрдХреНрд╢рдирдЪреЗ рдкреНрд░реЙрдХреНрд╕реА рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреЗ рдмрд╛рдХреА рдЖрд╣реЗ.

рдЖрдореНрд╣реА рд░рд╛рдЙрдЯрд░ рд╡реНрд╣реАрдкреАрдПрди рд╕рд░реНрд╡реНрд╣рд░ рдЗрддрд░ рдкреЛрд░реНрдЯрд╡рд░ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рддреЛ, рд░рд╛рдЙрдЯрд░рд╡рд░ 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 рдЧрддреА рд▓рдХреНрд╖рдгреАрдп рд╡рд╛рдвреЗрд▓. рддреНрдпрд╛рдЪ рд╡реЗрд│реА, рд░рд╛рдЙрдЯрд░рд╡рд░ рдиреЛрдВрджрдгреАрдХреГрдд рд╕рд░реНрд╡ рдиреЗрдЯрд╡рд░реНрдХ рдирд┐рдпрдо рд╕рдВрдмрдВрдзрд┐рдд рд░рд╛рд╣рддреАрд▓. рдСрд░реЗрдВрдЬ рдкрд╛рдИ рд╡рд░ рдЕрдкрдШрд╛рдд рдЭрд╛рд▓реНрдпрд╛рд╕, рддреЗ рдмрдВрдж рд╣реЛрдИрд▓ рдЖрдгрд┐ HAProxy рдЧреНрд░рд╛рд╣рдХрд╛рдВрдирд╛ рд╕реНрдерд╛рдирд┐рдХ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░реЗрд▓.

рдЖрдкрд▓реЗ рд▓рдХреНрд╖ рджрд┐рд▓реНрдпрд╛рдмрджреНрджрд▓ рдзрдиреНрдпрд╡рд╛рдж, рд╕реВрдЪрдирд╛ рдЖрдгрд┐ рд╕реБрдзрд╛рд░рдгрд╛рдВрдЪреЗ рд╕реНрд╡рд╛рдЧрдд рдЖрд╣реЗ.

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛