เด’เดฐเต Openwrt เดฑเต‚เดŸเตเดŸเดฑเดฟเตฝ OpenVPN เดตเต‡เด—เดคเตเดคเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเต. เดธเต‹เตพเดกเดฑเดฟเด‚เด—เต เด‡เดฐเตเดฎเตเดชเต, เดนเดพเตผเดกเตโ€Œเดตเต†เดฏเตผ เดคเต€เดตเตเดฐเดตเดพเดฆเด‚ เด‡เดฒเตเดฒเดพเดคเต† เด‡เดคเดฐ เดชเดคเดฟเดชเตเดชเต

เด’เดฐเต Openwrt เดฑเต‚เดŸเตเดŸเดฑเดฟเตฝ OpenVPN เดตเต‡เด—เดคเตเดคเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเต. เดธเต‹เตพเดกเดฑเดฟเด‚เด—เต เด‡เดฐเตเดฎเตเดชเต, เดนเดพเตผเดกเตโ€Œเดตเต†เดฏเตผ เดคเต€เดตเตเดฐเดตเดพเดฆเด‚ เด‡เดฒเตเดฒเดพเดคเต† เด‡เดคเดฐ เดชเดคเดฟเดชเตเดชเต

เดŽเดฒเตเดฒเดพเดตเตผเด•เตเด•เตเด‚ เดจเดฎเดธเตเด•เดพเดฐเด‚, เดžเดพเตป เดˆเดฏเดฟเดŸเต† เดตเดพเดฏเดฟเดšเตเดšเต เดชเดดเดฏ เดฒเต‡เด–เดจเด‚ เดฑเต‚เดŸเตเดŸเดฑเดฟเดจเตเดณเตเดณเดฟเตฝ เดคเดจเตเดจเต† เดฒเดฏเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดนเดพเตผเดกเตโ€Œเดตเต†เดฏเดฑเดฟเดฒเต‡เด•เตเด•เต เดŽเตปเด•เตเดฐเดฟเดชเตเดทเตป เด•เตˆเดฎเดพเดฑเดฟเด•เตเด•เตŠเดฃเตเดŸเต เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดŽเด™เตเด™เดจเต† เด’เดฐเต เดฑเต‚เดŸเตเดŸเดฑเดฟเตฝ OpenVPN เดตเต‡เด—เดคเตเดคเดฟเดฒเดพเด•เตเด•เดพเด‚ เดŽเดจเตเดจเดคเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต. เดŽเดจเดฟเด•เตเด•เต เดฐเดšเดฏเดฟเดคเดพเดตเดฟเดจเต เดธเดฎเดพเดจเดฎเดพเดฏ เด’เดฐเต เด•เต‡เดธเตเดฃเตเดŸเต - 3500 เดฎเต†เด—เดพเดฌเตˆเดฑเตเดฑเต เดฑเดพเดฎเตเดณเตเดณ เดŸเดฟเดชเดฟ-เดฒเดฟเด™เตเด•เต เดกเดฌเตเดฒเตเดฏเตเดกเดฟเด†เตผ 128, เดŸเดฃเตฝ เดŽเตปเด•เตเดฐเดฟเดชเตเดทเดจเตเดฎเดพเดฏเดฟ เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเดพเตป เด•เดดเดฟเดฏเดพเดคเตเดค เด’เดฐเต เดฎเต‹เดถเด‚ เดชเตเดฐเต‹เดธเดธเตผ. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เด’เดฐเต เดธเต‹เดณเดฟเดกเดฟเด‚เด—เต เด‡เดฐเตเดฎเตเดชเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฑเต‚เดŸเตเดŸเดฑเดฟเดฒเต‡เด•เตเด•เต เด•เดฏเดฑเดพเตป เดžเดพเตป เด†เด—เตเดฐเดนเดฟเดšเตเดšเดฟเดฒเตเดฒ. เด’เดฐเต เด…เดชเด•เดŸเดฎเตเดฃเตเดŸเดพเดฏเดพเตฝ เดฑเต‚เดŸเตเดŸเดฑเดฟเตฝ เดฌเดพเด•เตเด•เดชเตเดชเตเดณเตเดณ เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดนเดพเตผเดกเตโ€Œเดตเต†เดฏเดฑเดฟเดฒเต‡เด•เตเด•เต OpenVPN เดจเต€เด•เตเด•เดฟเดฏเดคเดฟเดจเตเดฑเต† เด…เดจเตเดญเดตเด‚ เดšเตเดตเดŸเต†เดฏเตเดฃเตเดŸเต.

เดฒเด•เตเดทเตเดฏเด‚

เด’เดฐเต TP-Link WDR3500 เดฑเต‚เดŸเตเดŸเดฑเตเด‚ เด“เดฑเดžเตเดšเต เดชเตˆ เดธเต€เดฑเต‹ H2 เด‰เด‚ เด‰เดฃเตเดŸเต. เด“เดฑเดžเตเดšเต เดชเตˆ เดŸเดฃเดฒเตเด•เตพ เดชเดคเดฟเดตเตเดชเต‹เดฒเต† เดŽเตปเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดšเต†เดฏเตเดฏเดฃเดฎเต†เดจเตเดจเต เดžเด™เตเด™เตพ เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเต, เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดธเด‚เดญเดตเดฟเดšเตเดšเดพเตฝ, VPN เดชเตเดฐเต‹เดธเดธเตเดธเดฟเด‚เด—เต เดฑเต‚เดŸเตเดŸเดฑเดฟเดฒเต‡เด•เตเด•เต เดฎเดŸเด™เตเด™เตเด‚. เดฑเต‚เดŸเตเดŸเดฑเดฟเดฒเต† เดŽเดฒเตเดฒเดพ เดซเดฏเตผเดตเดพเตพ เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เดณเตเด‚ เดฎเตเดฎเตเดชเดคเตเดคเต†เดชเตเดชเต‹เดฒเต† เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เดฃเด‚. เดชเตŠเดคเตเดตเต‡, เด…เดงเดฟเด• เดนเดพเตผเดกเตโ€Œเดตเต†เดฏเตผ เดšเต‡เตผเด•เตเด•เตเดจเตเดจเดคเต เดธเตเดคเดพเดฐเตเดฏเดตเตเด‚ เดŽเดฒเตเดฒเดพเดตเตผเด•เตเด•เตเด‚ เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เดชเตเดชเต†เดŸเดพเดคเตเดคเดคเตเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚. OpenVPN TCP-เดฏเดฟเตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต, TAP เด…เดกเดพเดชเตเดฑเตเดฑเตผ เดฌเตเดฐเดฟเดกเตเดœเต เดฎเต‹เดกเดฟเดฒเดพเดฃเต (เดธเต†เตผเดตเตผ-เดฌเตเดฐเดฟเดกเตเดœเต).

เดคเต€เดฐเตเดฎเดพเดจเด‚

USB เดตเดดเดฟ เด•เดฃเด•เตโ€Œเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเดชเด•เดฐเด‚, เดฑเต‚เดŸเตเดŸเดฑเดฟเดจเตเดฑเต† เด’เดฐเต เดชเต‹เตผเดŸเตเดŸเต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดจเตเด‚ เด’เดฐเต VPN เดฌเตเดฐเดฟเดกเตเดœเต เด‰เดณเตเดณ เดŽเดฒเตเดฒเดพ เดธเดฌเตโ€Œเดจเต†เดฑเตเดฑเตเด•เดณเตเด‚ เด“เดฑเดžเตเดšเต เดชเตˆเดฏเดฟเดฒเต‡เด•เตเด•เต เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เดพเดจเตเด‚ เดžเดพเตป เดคเต€เดฐเตเดฎเดพเดจเดฟเดšเตเดšเต. เดฑเต‚เดŸเตเดŸเดฑเดฟเดฒเต† VPN เดธเต†เตผเดตเดฑเดฟเดจเตเดฑเต† เด…เดคเต‡ เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เตเด•เดณเดฟเตฝ เดนเดพเตผเดกเตโ€Œเดตเต†เดฏเดฑเดฟเดจเตเดฑเต† เดญเดพเด—เด‚ เดถเดพเดฐเต€เดฐเดฟเด•เดฎเดพเดฏเดฟ เดคเต‚เด™เตเด™เตเดฎเต†เดจเตเดจเต เด‡เดคเต เดฎเดพเดฑเตเดจเตเดจเต. เด…เดคเดฟเดจเตเดถเต‡เดทเด‚, เด“เดฑเดžเตเดšเต เดชเตˆเดฏเดฟเตฝ เดžเด™เตเด™เตพ เด…เดคเต‡ เดธเต†เตผเดตเดฑเตเด•เตพ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเดจเตเดจเต, เด•เต‚เดŸเดพเดคเต† เดฑเต‚เดŸเตเดŸเดฑเดฟเตฝ เดžเด™เตเด™เตพ เดเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เดคเดฐเดคเตเดคเดฟเดฒเตเดณเตเดณ เดชเตเดฐเต‹เด•เตเดธเดฟ เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเตเดตเดดเดฟ เดŽเดฒเตเดฒเดพ เด‡เตปเด•เดฎเดฟเด‚เด—เต เด•เดฃเด•เตเดทเดจเตเด•เดณเตเด‚ เดฌเดพเดนเตเดฏ เดธเต†เตผเดตเดฑเดฟเดฒเต‡เด•เตเด•เต เด…เดฏเดฏเตเด•เตเด•เตเดจเตเดจเต, เด“เดฑเดžเตเดšเต เดชเตˆ เดกเต†เดกเต เด†เดฃเต†เด™เตเด•เดฟเตฝ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดฒเดญเตเดฏเดฎเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เดคเตเดŸเตผเดจเตเดจเต เด†เดจเตเดคเดฐเดฟเด• เดซเดพเตพเดฌเดพเด•เตเด•เต เดธเต†เตผเดตเตผ. เดžเดพเตป HAProxy เดŽเดŸเตเดคเตเดคเต.

เด‡เดคเต เด‡เดคเตเดชเต‹เดฒเต† เดฎเดพเดฑเตเดจเตเดจเต:

  1. เด’เดฐเต เด•เตเดฒเดฏเดจเตเดฑเต เดตเดฐเตเดจเตเดจเต
  2. เดฌเดพเดนเตเดฏ เดธเต†เตผเดตเตผ เดฒเดญเตเดฏเดฎเดฒเตเดฒเต†เด™เตเด•เดฟเตฝ, เดฎเตเดฎเตเดชเดคเตเดคเต†เดชเตเดชเต‹เดฒเต†, เด•เดฃเด•เตเดทเตป เด†เดจเตเดคเดฐเดฟเด• เดธเต†เตผเดตเดฑเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เด•เตเดจเตเดจเต
  3. เดฒเดญเตเดฏเดฎเดพเดฃเต†เด™เตเด•เดฟเตฝ, เด•เตเดฒเดฏเดจเตเดฑเต เด“เดฑเดžเตเดšเต เดชเตˆ เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เตเด‚
  4. เด“เดฑเดžเตเดšเต เดชเตˆเดฏเดฟเดฒเต† VPN เดชเดพเด•เตเด•เดฑเตเดฑเตเด•เตพ เดกเต€เด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดฑเต‚เดŸเตเดŸเดฑเดฟเดฒเต‡เด•เตเด•เต เดคเดฟเดฐเดฟเด•เต† เดคเตเดชเตเดชเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต
  5. เดฑเต‚เดŸเตเดŸเตผ เด…เดตเดฐเต† เดŽเดตเดฟเดŸเต†เดฏเต‹ เดจเดฏเดฟเด•เตเด•เตเดจเตเดจเต

เดจเดŸเดชเตเดชเดพเด•เตเด•เตฝ เด‰เดฆเดพเดนเดฐเดฃเด‚

เด…เดคเดฟเดจเดพเตฝ, เดฑเต‚เดŸเตเดŸเดฑเดฟเตฝ เดจเดฎเตเด•เตเด•เต เดฐเดฃเตเดŸเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เตเด•เตพ เด‰เดฃเตเดŸเดพเด•เดŸเตเดŸเต† - เดฎเต†เดฏเดฟเตป (1), เด…เดคเดฟเดฅเดฟ (2), เด…เดตเดฏเดฟเตฝ เด“เดฐเต‹เดจเตเดจเดฟเดจเตเด‚ เดฌเดพเดนเตเดฏเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด’เดฐเต เด“เดชเตเดชเตบเดตเดฟเดชเดฟเดŽเตป เดธเต†เตผเดตเตผ เด‰เดฃเตเดŸเต.

เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เด•เต‹เตบเดซเดฟเด—เดฑเต‡เดทเตป

เดžเด™เตเด™เตพเด•เตเด•เต เดฐเดฃเตเดŸเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เตเด•เดณเตเด‚ เด’เดฐเต เดชเต‹เตผเดŸเตเดŸเดฟเดฒเต‚เดŸเต† เดฑเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต, เด…เดคเดฟเดจเดพเตฝ เดžเด™เตเด™เตพ 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-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

เดŽเดฒเตเดฒเดพ 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 เดฎเต‹เดกเดฟเดฒเตเด‚ เดธเต†เตผเดตเตผ-เดฌเตเดฐเดฟเดกเตเดœเดฟเดฒเตเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ openvpn เด…เดคเดฟเดจเตเดฑเต† เด‡เดจเตเดฑเตผเดซเต‡เดธเต เดจเดฟเดทเตโ€Œเด•เตเดฐเดฟเดฏเดฎเดพเดฏเดฟ เดจเดฟเดฒเดจเดฟเตผเดคเตเดคเตเดจเตเดจเต. เดŽเดฒเตเดฒเดพเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, เด•เดฃเด•เตเดทเตป เดธเดœเต€เดตเดฎเดพเด•เตเดฎเตเดชเต‹เตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต เดจเดฟเด™เตเด™เตพ เดšเต‡เตผเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต.

/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-เดฒเต‡เด•เตเด•เต เดšเต‡เตผเด•เตเด•เตเด‚. เด…เดคเดฟเดฅเดฟ เด—เตเดฐเดฟเดกเดฟเดจเดพเดฏเดฟ - เด…เดคเตเดชเต‹เดฒเต†, เดธเต†เตผเดตเตผ-เดฌเตเดฐเดฟเดกเตเดœเดฟเดฒเต† เด‡เดจเตเดฑเตผเดซเต‡เดธเดฟเดจเตเดฑเต† เดชเต‡เดฐเตเด‚ เดตเดฟเดฒเดพเดธเดตเตเด‚ เดตเดฐเต†.

เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เตพ เดฌเดพเดนเตเดฏเดฎเดพเดฏเตเด‚ เดชเตเดฐเต‹เด•เตโ€Œเดธเดฟ เดšเต†เดฏเตเดฏเดฒเตเด‚ เดฑเต‚เดŸเตเดŸเดฟเด‚เด—เต

เดˆ เด˜เดŸเตเดŸเดคเตเดคเดฟเตฝ, เด“เดฑเดžเตเดšเต เดชเตˆเดฏเตเด•เตเด•เต เด‡เดคเดฟเดจเด•เด‚ เดคเดจเตเดจเต† เด•เดฃเด•เตเดทเดจเตเด•เตพ เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เดพเดจเตเด‚ เด†เดตเดถเตเดฏเดฎเดพเดฏ เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เด•เตเดฒเดฏเดจเตเดฑเตเด•เดณเต† เดฌเดจเตเดงเดฟเดชเตเดชเดฟเด•เตเด•เดพเดจเตเด‚ เด•เดดเดฟเดฏเตเด‚. เดฑเต‚เดŸเตเดŸเดฑเดฟเตฝ เด‡เตปเด•เดฎเดฟเด‚เด—เต เด•เดฃเด•เตเดทเดจเตเด•เดณเตเดŸเต† เดชเตเดฐเต‹เด•เตเดธเดฟเดฏเดฟเด‚เด—เต เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเตเด• เดฎเดพเดคเตเดฐเดฎเดพเดฃเต เด…เดตเดถเต‡เดทเดฟเด•เตเด•เตเดจเตเดจเดคเต.

เดžเด™เตเด™เตพ เดฑเต‚เดŸเตเดŸเตผ 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 เดตเต‡เด—เดค เด—เดฃเตเดฏเดฎเดพเดฏเดฟ เดตเตผเดฆเตเดงเดฟเด•เตเด•เตเด‚. เด…เดคเต‡ เดธเดฎเดฏเด‚, เดฑเต‚เดŸเตเดŸเดฑเดฟเตฝ เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดคเดฟเดŸเตเดŸเตเดณเตเดณ เดŽเดฒเตเดฒเดพ เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดจเดฟเดฏเดฎเด™เตเด™เดณเตเด‚ เดชเตเดฐเดธเด•เตเดคเดฎเดพเดฏเดฟ เดคเตเดŸเดฐเตเด‚. เด“เดฑเดžเตเดšเต เดชเตˆเดฏเดฟเตฝ เด’เดฐเต เด…เดชเด•เดŸเดฎเตเดฃเตเดŸเดพเดฏเดพเตฝ, เด…เดคเต เดตเต€เดดเตเด•เดฏเตเด‚ HAProxy เด•เตเดฒเดฏเดจเตเดฑเตเด•เดณเต† เดชเตเดฐเดพเดฆเต‡เดถเดฟเด• เดธเต†เตผเดตเดฑเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดฑเตเดฑเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด‚.

เดจเดฟเด™เตเด™เดณเตเดŸเต† เดถเตเดฐเดฆเตเดงเดฏเตเด•เตเด•เต เดจเดจเตเดฆเดฟ, เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เดณเตเด‚ เดคเดฟเดฐเตเดคเตเดคเดฒเตเด•เดณเตเด‚ เดธเตเดตเดพเด—เดคเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•