āφāĻŽāϰāĻž āĻ—āϤāĻŋ āĻŦāĻžāĻĄāĻŧāĻžāχ OpenVPN āĻāĻ•āϟāĻŋ OpenWRT āϰāĻžāωāϟāĻžāϰ⧇āĨ¤ āϏ⧋āĻ˛ā§āĻĄāĻžāϰāĻŋāĻ‚ āφāϝāĻŧāϰāύ āĻāĻŦāĻ‚ āĻšāĻžāĻ°ā§āĻĄāĻ“āϝāĻŧā§āϝāĻžāϰ⧇āϰ āϚāϰāĻŽāĻĒāĻ¨ā§āĻĨāĻž āĻ›āĻžāĻĄāĻŧāĻž āĻāĻ•āϟāĻŋ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āϏāĻ‚āĻ¸ā§āĻ•āϰāĻŖāĨ¤

āφāĻŽāϰāĻž āĻ—āϤāĻŋ āĻŦāĻžāĻĄāĻŧāĻžāχ OpenVPN āĻāĻ•āϟāĻŋ OpenWRT āϰāĻžāωāϟāĻžāϰ⧇āĨ¤ āϏ⧋āĻ˛ā§āĻĄāĻžāϰāĻŋāĻ‚ āφāϝāĻŧāϰāύ āĻāĻŦāĻ‚ āĻšāĻžāĻ°ā§āĻĄāĻ“āϝāĻŧā§āϝāĻžāϰ⧇āϰ āϚāϰāĻŽāĻĒāĻ¨ā§āĻĨāĻž āĻ›āĻžāĻĄāĻŧāĻž āĻāĻ•āϟāĻŋ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āϏāĻ‚āĻ¸ā§āĻ•āϰāĻŖāĨ¤

āϏāĻŦāĻžāχāϕ⧇ āĻšā§āϝāĻžāϞ⧋, āφāĻŽāĻŋ āϏāĻŽā§āĻĒā§āϰāϤāĻŋ āĻĒāĻĄāĻŧ⧇āĻ›āĻŋ āĻĒ⧁āϰāĻžāύ⧋ āύāĻŋāĻŦāĻ¨ā§āϧ āϕ⧀āĻ­āĻžāĻŦ⧇ āφāĻĒāύāĻŋ āĻ—āϤāĻŋ āĻŦāĻžāĻĄāĻŧāĻžāϤ⧇ āĻĒāĻžāϰ⧇āύ āϏ⧇ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ OpenVPN āϰāĻžāωāϟāĻžāϰ⧇āϰ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇, āĻāύāĻ•ā§āϰāĻŋāĻĒāĻļāύāϕ⧇ āĻāĻ•āϟāĻŋ āφāϞāĻžāĻĻāĻž āĻšāĻžāĻ°ā§āĻĄāĻ“āϝāĻŧā§āϝāĻžāϰ⧇ āĻ¸ā§āĻĨāĻžāύāĻžāĻ¨ā§āϤāϰ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇, āϝāĻž āϰāĻžāωāϟāĻžāϰ⧇āϰ āϭ⧇āϤāϰ⧇āχ āϏ⧋āĻ˛ā§āĻĄāĻžāϰ āĻ•āϰāĻž āĻĨāĻžāϕ⧇āĨ¤ āφāĻŽāĻžāϰ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ“ āϞ⧇āĻ–āϕ⧇āϰ āĻŽāϤ⧋āĻ‡â€”āĻāĻ•āϟāĻŋ TP-Link WDR3500, āϝāĻžāϤ⧇ ā§§ā§¨ā§Ž āĻŽā§‡āĻ—āĻžāĻŦāĻžāχāϟ āĻ°â€ā§āϝāĻžāĻŽ āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ āĻĻ⧁āĻ°ā§āĻŦāϞ āĻĒā§āϰāϏ⧇āϏāϰ āϰāϝāĻŧ⧇āϛ⧇ āϝāĻž āϟāĻžāύ⧇āϞ āĻāύāĻ•ā§āϰāĻŋāĻĒāĻļāύ āĻāϕ⧇āĻŦāĻžāϰ⧇āχ āϏāĻžāĻŽāϞāĻžāϤ⧇ āĻĒāĻžāϰ⧇ āύāĻžāĨ¤ āϤāĻŦ⧇, āφāĻŽāĻŋ āϏ⧋āĻ˛ā§āĻĄāĻžāϰāĻŋāĻ‚ āφāϝāĻŧāϰāύ āύāĻŋāϝāĻŧ⧇ āϰāĻžāωāϟāĻžāϰ⧇āϰ āϭ⧇āϤāϰ⧇ āĻšāĻžāϤ āĻĻāĻŋāϤ⧇ āĻāϕ⧇āĻŦāĻžāϰ⧇āχ āϚāĻžāχāύāĻŋāĨ¤ āφāĻŽāĻžāϰ āĻ…āĻ­āĻŋāĻœā§āĻžāϤāĻž āύāĻŋāĻšā§‡ āĻĻ⧇āĻ“āϝāĻŧāĻž āĻšāϞ⧋āĨ¤ OpenVPN āϜāϰ⧁āϰāĻŋ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāϰ āϜāĻ¨ā§āϝ āϰāĻžāωāϟāĻžāϰ⧇ āĻŦā§āϝāĻžāĻ•āφāĻĒ āϏāĻš āĻāĻ•āϟāĻŋ āφāϞāĻžāĻĻāĻž āĻšāĻžāĻ°ā§āĻĄāĻ“āϝāĻŧā§āϝāĻžāϰ⧇āĨ¤

āĻ•āĻžāĻœā§‡āϰ

āφāĻŽāĻžāĻĻ⧇āϰ āĻ•āĻžāϛ⧇ āĻāĻ•āϟāĻŋ TP-Link WDR3500 āϰāĻžāωāϟāĻžāϰ āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ Orange Pi Zero H2 āφāϛ⧇āĨ¤ āφāĻŽāϰāĻž āϚāĻžāχ Orange Pi āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ• āĻŽā§‹āĻĄā§‡ āϟāĻžāύ⧇āϞ āĻāύāĻ•ā§āϰāĻŋāĻĒāĻļāύ āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻ•āϰ⧁āĻ•, āĻ•āĻŋāĻ¨ā§āϤ⧁ āϝāĻĻāĻŋ āĻāϰ āĻ•āĻŋāϛ⧁ āϘāĻŸā§‡, āϤāĻžāĻšāϞ⧇ āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāĻ•āϰāĻŖ Pi āĻĻā§āĻŦāĻžāϰāĻž āĻĒāϰāĻŋāϚāĻžāϞāĻŋāϤ āĻšāĻŦ⧇āĨ¤ āĻ­āĻŋāĻĒāĻŋāĻāύ āĻāϟāĻŋ āϰāĻžāωāϟāĻžāϰ⧇ āĻĢ⧇āϰāϤ āĻĒāĻžāĻ āĻžāύ⧋ āĻšāĻŦ⧇āĨ¤ āϰāĻžāωāϟāĻžāϰ⧇āϰ āϏāĻŽāĻ¸ā§āϤ āĻĢāĻžāϝāĻŧāĻžāϰāĻ“āϝāĻŧāĻžāϞ āϏ⧇āϟāĻŋāĻ‚āϏ āφāϗ⧇āϰ āĻŽāϤ⧋āχ āĻ•āĻžāϜ āĻ•āϰāĻž āωāϚāĻŋāϤāĨ¤ āĻāĻŦāĻ‚ āϏāĻžāĻ°ā§āĻŦāĻŋāĻ•āĻ­āĻžāĻŦ⧇, āĻ…āϤāĻŋāϰāĻŋāĻ•ā§āϤ āĻšāĻžāĻ°ā§āĻĄāĻ“āϝāĻŧā§āϝāĻžāϰ āϏāĻ‚āϝ⧋āϜāύāϟāĻŋ āϏāĻ•āϞ⧇āϰ āĻ•āĻžāϛ⧇ āĻ¸ā§āĻŦāĻšā§āĻ› āĻāĻŦāĻ‚ āĻ…āϞāĻ•ā§āĻˇā§āϝāύ⧀āϝāĻŧ āĻšāĻ“āϝāĻŧāĻž āωāϚāĻŋāϤāĨ¤ OpenVPN āĻŦā§āϰāĻŋāϜ āĻŽā§‹āĻĄā§‡ (āϏāĻžāĻ°ā§āĻ­āĻžāϰ-āĻŦā§āϰāĻŋāϜ) TCP, TAP āĻ…ā§āϝāĻžāĻĄāĻžāĻĒā§āϟāĻžāϰ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āĻ•āĻžāϜ āĻ•āϰ⧇āĨ¤

āϰāĻžāϝāĻŧ

āχāωāĻāϏāĻŦāĻŋ āĻāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āϏāĻ‚āϝ⧋āĻ— āĻ•āϰāĻžāϰ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤ⧇, āφāĻŽāĻŋ āϰāĻžāωāϟāĻžāϰ⧇āϰ āĻāĻ•āϟāĻŋ āĻĒā§‹āĻ°ā§āϟ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻžāϰ āĻāĻŦāĻ‚ āĻ…āϰ⧇āĻžā§āϜ āĻĒāĻžāχ āĻāϰ āϏāĻžāĻĨ⧇ āĻāĻ•āϟāĻŋ VPN āϏ⧇āϤ⧁ āφāϛ⧇ āĻāĻŽāύ āϏāĻŽāĻ¸ā§āϤ āϏāĻžāĻŦāύ⧇āϟāϗ⧁āϞāĻŋāϕ⧇ āϏāĻ‚āϝ⧁āĻ•ā§āϤ āĻ•āϰāĻžāϰ āϏāĻŋāĻĻā§āϧāĻžāĻ¨ā§āϤ āύāĻŋāϝāĻŧ⧇āĻ›āĻŋāĨ¤ āĻĻ⧇āĻ–āĻž āϝāĻžāĻšā§āϛ⧇ āϝ⧇ āĻšāĻžāĻ°ā§āĻĄāĻ“āϝāĻŧā§āϝāĻžāϰāϟāĻŋ āϰāĻžāωāϟāĻžāϰ⧇āϰ āĻ­āĻŋāĻĒāĻŋāĻāύ āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇āϰ āĻŽāϤ⧋ āĻāĻ•āχ āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ•āϗ⧁āϞāĻŋāϤ⧇ āĻļāĻžāϰ⧀āϰāĻŋāĻ•āĻ­āĻžāĻŦ⧇ āĻšā§āϝāĻžāĻ‚ āĻšāĻŦ⧇āĨ¤ āĻāϰ āĻĒāϰ⧇, āφāĻŽāϰāĻž āĻ…āϰ⧇āĻžā§āϜ āĻĒāĻžāχāϤ⧇ āĻ āĻŋāĻ• āĻāĻ•āχ āϏāĻžāĻ°ā§āĻ­āĻžāϰāϗ⧁āϞāĻŋ āχāύāĻ¸ā§āϟāϞ āĻ•āϰāĻŋ āĻāĻŦāĻ‚ āϰāĻžāωāϟāĻžāϰ⧇ āφāĻŽāϰāĻž āĻ•āĻŋāϛ⧁ āϧāϰāϪ⧇āϰ āĻĒā§āϰāĻ•ā§āϏāĻŋ āϏ⧇āϟ āφāĻĒ āĻ•āϰāĻŋ āϝāĻžāϤ⧇ āĻāϟāĻŋ āϏāĻŽāĻ¸ā§āϤ āφāĻ—āϤ āϏāĻ‚āϝ⧋āĻ—āϗ⧁āϞāĻŋāϕ⧇ āĻŦāĻžāĻšā§āϝāĻŋāĻ• āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇ āĻĒā§āϰ⧇āϰāĻŖ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āϝāĻĻāĻŋ āĻ…āϰ⧇āĻžā§āϜ āĻĒāĻžāχ āĻŽā§ƒāϤ āĻŦāĻž āĻ…āύ⧁āĻĒāϞāĻŦā§āϧ āĻĨāĻžāϕ⧇ āϤāĻŦ⧇ āĻ…āĻ­ā§āϝāĻ¨ā§āϤāϰ⧀āĻŖ āĻĢāϞāĻŦā§āϝāĻžāĻ• āϏāĻžāĻ°ā§āĻ­āĻžāϰāĨ¤ āφāĻŽāĻŋ HAProxy āύāĻŋāϝāĻŧ⧇āĻ›āĻŋāĨ¤

āĻāϟāĻŋ āĻāϰ āĻŽāϤ⧋ āĻĻ⧇āĻ–āĻž āϝāĻžāĻšā§āϛ⧇:

  1. āĻāĻ•āϜāύ āĻ•ā§āϞāĻžāϝāĻŧ⧇āĻ¨ā§āϟ āφāϏ⧇
  2. āϝāĻĻāĻŋ āĻŦāĻžāĻšā§āϝāĻŋāĻ• āϏāĻžāĻ°ā§āĻ­āĻžāϰ āĻ…āύ⧁āĻĒāϞāĻŦā§āϧ āĻšāϝāĻŧ, āφāϗ⧇āϰ āĻŽāϤ⧋, āϏāĻ‚āϝ⧋āĻ—āϟāĻŋ āĻ…āĻ­ā§āϝāĻ¨ā§āϤāϰ⧀āĻŖ āϏāĻžāĻ°ā§āĻ­āĻžāϰ⧇ āϝāĻžāϝāĻŧ
  3. āωāĻĒāϞāĻŦā§āϧ āĻšāϞ⧇, āĻ•ā§āϞāĻžāϝāĻŧ⧇āĻ¨ā§āϟ āĻ…āϰ⧇āĻžā§āϜ āĻĒāĻžāχ āĻĻā§āĻŦāĻžāϰāĻž āĻ—ā§ƒāĻšā§€āϤ āĻšāϝāĻŧ
  4. Orange Pi-āĻ VPN āĻĒā§āϝāĻžāϕ⧇āϟāϗ⧁āϞāĻŋ āĻĄāĻŋāĻ•ā§āϰāĻŋāĻĒā§āϟ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āϰāĻžāωāϟāĻžāϰ⧇ āĻĨ⧁āϤ⧁ āĻĻ⧇āϝāĻŧ
  5. āϰāĻžāωāϟāĻžāϰ āϤāĻžāĻĻ⧇āϰ āϕ⧋āĻĨāĻžāĻ“ āϰ⧁āϟ āĻ•āϰ⧇

āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύ āωāĻĻāĻžāĻšāϰāĻŖ

āϏ⧁āϤāϰāĻžāĻ‚, āϧāϰāĻž āϝāĻžāĻ• āϰāĻžāωāϟāĻžāϰ⧇ āĻĻ⧁āϟāĻŋ āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• āφāϛ⧇ - main(1) āĻāĻŦāĻ‚ guest(2), āĻāĻĻ⧇āϰ āĻĒā§āϰāϤāĻŋāϟāĻŋāϰ āϜāĻ¨ā§āϝ āφāϛ⧇ OpenVPN āĻŦāĻžāχāϰ⧇ āĻĨ⧇āϕ⧇ āϏāĻ‚āϝ⧋āϗ⧇āϰ āϜāĻ¨ā§āϝ āϏāĻžāĻ°ā§āĻ­āĻžāϰāĨ¤

āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ⧇āĻļāύ

āφāĻŽāĻžāĻĻ⧇āϰ āωāĻ­āϝāĻŧ āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ•āϕ⧇ āĻāĻ•āϟāĻŋ āĻĒā§‹āĻ°ā§āĻŸā§‡āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āϰ⧁āϟ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇, āϤāĻžāχ āφāĻŽāϰāĻž 2āϟāĻŋ VLAN āϤ⧈āϰāĻŋ āĻ•āϰāĻŋāĨ¤

āϰāĻžāωāϟāĻžāϰ⧇, āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ•/āϏ⧁āχāϚ āĻŦāĻŋāĻ­āĻžāϗ⧇, VLAN āϤ⧈āϰāĻŋ āĻ•āϰ⧁āύ (āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ 1 āĻāĻŦāĻ‚ 2) āĻāĻŦāĻ‚ āĻĒāĻ›āĻ¨ā§āĻĻāϏāχ āĻĒā§‹āĻ°ā§āĻŸā§‡ āĻŸā§āϝāĻžāĻ— āĻŽā§‹āĻĄā§‡ āϏāĻ•ā§āώāĻŽ āĻ•āϰ⧁āύ, āϏāĻ‚āĻļā§āϞāĻŋāĻˇā§āϟ āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ•āϗ⧁āϞāĻŋāϤ⧇ āύāϤ⧁āύ āϤ⧈āϰāĻŋ eth0.1 āĻāĻŦāĻ‚ eth0.2 āϝ⧋āĻ— āĻ•āϰ⧁āύ (āωāĻĻāĻžāĻšāϰāĻŖāĻ¸ā§āĻŦāϰ⧂āĻĒ, āϏ⧇āϗ⧁āϞāĻŋāϕ⧇ āĻŦā§āϰāĻŋāϗ⧇ āϝ⧁āĻ•ā§āϤ āĻ•āϰ⧁āύ)āĨ¤

āĻ…āϰ⧇āĻžā§āϜ āĻĒāĻžāχāϤ⧇ āφāĻŽāϰāĻž āĻĻ⧁āϟāĻŋ 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-āĻ…āϤāĻŋāĻĨāĻŋ

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

āĻĄāĻŋāĻĢāĻ˛ā§āϟāϰ⧂āĻĒ⧇, 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-main āχāĻ¨ā§āϟāĻžāϰāĻĢ⧇āϏāϟāĻŋ br-main-āĻ āϝ⧁āĻ•ā§āϤ āĻšāĻŦ⧇āĨ¤ āϗ⧇āĻ¸ā§āϟ āĻ—ā§āϰāĻŋāĻĄā§‡āϰ āϜāĻ¨ā§āϝ - āĻāĻ•āχāĻ­āĻžāĻŦ⧇, āϏāĻžāĻ°ā§āĻ­āĻžāϰ-āĻŦā§āϰāĻŋāĻœā§‡ āχāĻ¨ā§āϟāĻžāϰāĻĢ⧇āϏ⧇āϰ āύāĻžāĻŽ āĻāĻŦāĻ‚ āĻ āĻŋāĻ•āĻžāύāĻž āĻĒāĻ°ā§āϝāĻ¨ā§āϤāĨ¤

āϰāĻžāωāϟāĻŋāĻ‚ āĻ…āύ⧁āϰ⧋āϧ āĻŦāĻžāĻšā§āϝāĻŋāĻ•āĻ­āĻžāĻŦ⧇ āĻāĻŦāĻ‚ āĻĒā§āϰāĻ•ā§āϏāĻŋ āĻ•āϰāĻž

āĻāχ āϧāĻžāĻĒ⧇, Orange Pi āχāϤāĻŋāĻŽāĻ§ā§āϝ⧇āχ āϏāĻ‚āϝ⧋āĻ— āĻ—ā§āϰāĻšāĻŖ āĻ•āϰāϤ⧇ āĻāĻŦāĻ‚ āĻĒā§āϰāϝāĻŧā§‹āϜāύ⧀āϝāĻŧ āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ•āϗ⧁āϞāĻŋāϤ⧇ āĻ•ā§āϞāĻžāϝāĻŧ⧇āĻ¨ā§āϟāĻĻ⧇āϰ āϏāĻ‚āϝ⧋āĻ— āĻ•āϰāϤ⧇ āϏāĻ•ā§āώāĻŽāĨ¤ āϰāĻžāωāϟāĻžāϰ⧇ āχāύāĻ•āĻžāĻŽāĻŋāĻ‚ āϏāĻ‚āϝ⧋āĻ—āϗ⧁āϞāĻŋāϰ āĻĒā§āϰāĻ•ā§āϏāĻŋ āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āϝāĻž āĻ…āĻŦāĻļāĻŋāĻˇā§āϟ āĻĨāĻžāϕ⧇āĨ¤

āφāĻŽāϰāĻž āϰāĻžāωāϟāĻžāϰ āĻ­āĻŋāĻĒāĻŋāĻāύ āϏāĻžāĻ°ā§āĻ­āĻžāϰāϗ⧁āϞāĻŋāϕ⧇ āĻ…āĻ¨ā§āϝ āĻĒā§‹āĻ°ā§āĻŸā§‡ āĻ¸ā§āĻĨāĻžāύāĻžāĻ¨ā§āϤāϰ āĻ•āϰāĻŋ, āϰāĻžāωāϟāĻžāϰ⧇ 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

DDoS āϏ⧁āϰāĻ•ā§āώāĻž, VPS VDS āϏāĻžāĻ°ā§āĻ­āĻžāϰ āϏāĻš āϏāĻžāχāϟāϗ⧁āϞāĻŋāϰ āϜāĻ¨ā§āϝ āύāĻŋāĻ°ā§āĻ­āϰāϝ⧋āĻ—ā§āϝ āĻšā§‹āĻ¸ā§āϟāĻŋāĻ‚ āĻ•āĻŋāύ⧁āύ đŸ”Ĩ DDoS āϏ⧁āϰāĻ•ā§āώāĻž āϏāĻš āύāĻŋāĻ°ā§āĻ­āϰāϝ⧋āĻ—ā§āϝ āĻ“āϝāĻŧ⧇āĻŦāϏāĻžāχāϟ āĻšā§‹āĻ¸ā§āϟāĻŋāĻ‚ āĻ•āĻŋāύ⧁āύ, VPS VDS āϏāĻžāĻ°ā§āĻ­āĻžāϰ | ProHoster