
å°ççã«é¢ãã 3 ã€ã®ã¢ããŒãã®ãããã¯ãŒã¯ (ããããã OpenWRT ã«ãŒã¿ãŒãã²ãŒããŠã§ã€ãšããŠäœ¿çšããŠãã) ã 2 ã€ã®å
±éãããã¯ãŒã¯ã«çµåããç§ã®çµéšãå
±æããããšæããŸãã ãµãããã ã«ãŒãã£ã³ã°ã䜿çšãã LXNUMXââ ãšããªããžã䜿çšãã LXNUMX ã®éã§ãããã¯ãŒã¯ãçµã¿åãããæ¹æ³ãéžæãããšãããã¹ãŠã®ãããã¯ãŒã¯ ããŒããåããµããããå
ã«ããå ŽåãXNUMX çªç®ã®æ¹æ³ãåªå
ãããŸããããã¯æ§æãããå°é£ã§ããããã倧ããªæ©äŒãæäŸããŸããæ§ç¯äžã®ãããã¯ãŒã¯ã§ã¯ãWake-on-Lan ãš DLNA ã«ãããã¯ãããžãŒã®ééçãªäœ¿çšãèšç»ãããŸããã
ããŒã 1: èæ¯
ãã®ã¿ã¹ã¯ãå®è¡ããããã«éžæããããããã³ã«ã¯ãåœå㯠OpenVPNãªããªãã第äžã«ãåé¡ãªãããªããžã«è¿œå ã§ããã¿ããããã€ã¹ãäœæã§ããããšããããŠç¬¬äºã«ã OpenVPN TCPããµããŒãããŠããç¹ãéèŠã§ããããšããã®ããã©ã®ã¢ããŒãã«ãå°çšIPã¢ãã¬ã¹ãå²ãåœãŠãããŠããªãã£ãããã§ããç§ã®ISPã¯äœããã®çç±ã§èªç€Ÿãããã¯ãŒã¯ããã®UDPæ¥ç¶ããããã¯ããŠãããããSTUNã¯äœ¿ããŸããã§ãããTCPã®ãããã§ãSSHã䜿ã£ãŠVPNãµãŒããŒã®ããŒããã¬ã³ã¿ã«ããVPSã«è»¢éããããšãã§ããŸããããã®æ¹æ³ã¯ããŒã¿ãäºéæå·åããããããããªãã®ãªãŒããŒããããçºçããŸããã第äžè ã«å¶åŸ¡ããããªã¹ã¯ããã£ããããVPSããã©ã€ããŒããããã¯ãŒã¯ã«çµ±åããããããŸããã§ããããã®ãããèªå® ãããã¯ãŒã¯ã«ãã®ãããªããã€ã¹ã眮ãããšã¯éåžžã«æãŸãããªãã£ãã®ã§ãã»ãã¥ãªãã£ã®ããã«ããªãã®ãªãŒããŒããããæ¯æãããšã«ããŸããã
ãµãŒããŒããããã€ããäºå®ã®ã«ãŒã¿ãŒã§ããŒãã転éããããã«ãsshtunnel ããã°ã©ã ã䜿çšããŸãããèšå®ã®è©³çްã«ã€ããŠã¯èª¬æããŸããããéåžžã«ç°¡åã§ããã«ãŒã¿ãŒãã VPS ãž TCP ããŒã 1194 ã転éããããšãç®çã ã£ãããšã ããè¿°ã¹ãŠãããŸããæ¬¡ã«ããµãŒããŒãèšå®ããŸããã OpenVPN br-lanããªããžã«æ¥ç¶ãããtap0ããã€ã¹äžã§ãç§ã®ããŒãããœã³ã³ããæ°ããäœæãããµãŒããŒãžã®æ¥ç¶ããã¹ããããšãããããŒããã©ã¯ãŒãã£ã³ã°ã®è©Šã¿ãããŸããããç©ççã«ã¯ã«ãŒã¿ãŒã®ãããã¯ãŒã¯ã«æ¥ç¶ãããŠããªããŠããç§ã®ããŒãããœã³ã³ãã«ãŒã¿ãŒã®ãããã¯ãŒã¯ã®äžå¡ã«ãªã£ãŠããããšãæããã«ãªããŸããã
æ®ãããå¯äžã®äœæ¥ã¯ãIPã¢ãã¬ã¹ãç«¶åããªãããã«ç°ãªãã¢ããŒãã«IPã¢ãã¬ã¹ãåé
ããã«ãŒã¿ãŒã次ã®ããã«èšå®ããããšã ã£ãã OpenVPN-ã¯ã©ã€ã¢ã³ãã
次ã®ã«ãŒã¿ãŒ IP ã¢ãã¬ã¹ãš DHCP ãµãŒããŒç¯å²ãéžæãããŸããã
- 192.168.10.1 ç¯å²ä»ã 192.168.10.2 - 192.168.10.80 ãµãŒããŒçš
- 192.168.10.100 ç¯å²ä»ã 192.168.10.101 - 192.168.10.149 ã¢ããŒãNo.2ã®ã«ãŒã¿ãŒçš
- 192.168.10.150 ç¯å²ä»ã 192.168.10.151 - 192.168.10.199 ã¢ããŒãNo.3ã®ã«ãŒã¿ãŒçš
ãããã®ã¢ãã¬ã¹ãã¯ã©ã€ã¢ã³ãã«ãŒã¿ãŒã«å²ãåœãŠãå¿ èŠããã£ãã OpenVPN-server ã®å Žåãèšå®ãã¡ã€ã«ã«æ¬¡ã®è¡ã远å ããŸãã
ifconfig-pool-persist /etc/openvpn/ipp.txt 0次ã®è¡ã /etc/openvpn/ipp.txt ãã¡ã€ã«ã«è¿œå ããŸãã
flat1_id 192.168.10.100
flat2_id 192.168.10.150
flat1_id ãš flat2_id ã¯ãæ¥ç¶çšã®èšŒææžãäœæããéã«æå®ããããã€ã¹åã§ãã OpenVPN
次ã«ãã«ãŒã¿ãŒã®èšå®ãè¡ã£ãã OpenVPN- ã¯ã©ã€ã¢ã³ããäž¡æ¹ã® tap0 ããã€ã¹ã br-lan ããªããžã«è¿œå ãããŸããããã®æç¹ã§ã¯ã3 ã€ã®ãããã¯ãŒã¯ãã¹ãŠããäºããèªèããåäžã®ãŠããããšããŠæ©èœããããšãã§ããããããã¹ãŠåé¡ãªãããã«èŠããŸãããããããããªãåä»ãªè©³çްãæããã«ãªããŸãããããã€ã¹ãééã£ãã«ãŒã¿ãŒãã IP ã¢ãã¬ã¹ãååŸããããã«äŒŽããã¹ãŠã®çµæãçºçããããšããããŸãããäœããã®çç±ã§ãã¢ããŒãã® 1 ã€ã®ã«ãŒã¿ãŒã DHCPDISCOVER ã«æéå ã«å¿çãããããã€ã¹ãééã£ãã¢ãã¬ã¹ãååŸããŸãããåã«ãŒã¿ãŒã® tap0 ã§ãã®ãããªèŠæ±ããã£ã«ã¿ãªã³ã°ããå¿ èŠãããããšã«æ°ã¥ããŸããããå®éã«ã¯ãããã€ã¹ãããªããžã®äžéšã§ããå Žåãiptables ã¯æ©èœããªããããebtables ã䜿çšããå¿ èŠããããŸãããæ®å¿µãªããããã¡ãŒã ãŠã§ã¢ã«ã¯ ebtables ãå«ãŸããŠããªãã£ããããåããã€ã¹ã®ã€ã¡ãŒãžãåæ§ç¯ããå¿ èŠããããŸããããããè¡ããšãåã«ãŒã¿ãŒã® /etc/rc.local ã«æ¬¡ã®è¡ã远å ãããåé¡ã¯è§£æ±ºããŸããã
ebtables -A INPUT --in-interface tap0 --protocol ipv4 --ip-protocol udp --ip-destination-port 67:68 -j DROP
ebtables -A INPUT --in-interface tap0 --protocol ipv4 --ip-protocol udp --ip-source-port 67:68 -j DROP
ebtables -A FORWARD --out-interface tap0 --protocol ipv4 --ip-protocol udp --ip-destination-port 67:68 -j DROP
ebtables -A FORWARD --out-interface tap0 --protocol ipv4 --ip-protocol udp --ip-source-port 67:68 -j DROP
ãã®æ§æã¯ XNUMX 幎éç¶ããŸããã
ããŒã2ïŒãäºããç¥ã WireGuard
æè¿ãã€ã³ã¿ãŒãããäžã§è©±é¡ã«ãªã£ãŠããã®ã¯ WireGuardèšå®ã®å®¹æããé«éãªè»¢éé床ãäœpingããããŠåçã®ã»ãã¥ãªãã£ã«æéãåããŸãããããããããã«è©³ããæ å ±ã調ã¹ãŠã¿ããšãããªããžã¡ã³ããŒæ©èœãTCPãããã³ã«ããµããŒãããŠããªãããšãåãããä»ã«éžæè¢ã¯ãªããšèããããã«ãªããŸããã OpenVPN ç§ã«ãšã£ãŠã¯ãŸã ãããŸã§éããŠããªããã ãããç¥ãåãããšãå å»¶ã°ãã«ããã WireGuard.
æ°æ¥åãITé¢é£ã®æ å ±æºãéããŠã次ã®ãããªãã¥ãŒã¹ãåºãŸã£ãã WireGuard æçµçã«ã«ãŒãã«ã«çµã¿èŸŒãŸãã LinuxããŒãžã§ã³5.6以éããã¥ãŒã¹èšäºã¯ãããŸã§éã奜è©ãåããã WireGuardç§ã¯åã³ãå€ãè¯ããã®ã«ä»£ããæ¹æ³ãæ¢ãå§ããã OpenVPNä»å㯠ã GRE ã䜿çšã㊠L3 äžã«ã€ãŒãµããã ãã³ãã«ãäœæããæ¹æ³ã«ã€ããŠèª¬æããŸããã ãã®èšäºã¯ç§ã«åžæãäžããŠãããŸããã UDP ãããã³ã«ãã©ããããã¯äžæã®ãŸãŸã§ããã æ€çŽ¢ã®çµæãsocat ã SSH ãã³ãã«ãšçµã¿åãããŠäœ¿çšââã㊠UDP ããŒãã転éããæ¹æ³ã«é¢ããèšäºãèŠã€ãããŸããããã ãããã®ã¢ãããŒãã¯åäžæ¥ç¶ã¢ãŒãã§ã®ã¿æ©èœãããã€ãŸããè€æ°ã® VPN ã¯ã©ã€ã¢ã³ãã§æ©èœããããšã¯äžå¯èœã§ãããšèšèŒãããŠããŸããã VPS ã« VPN ãµãŒããŒãã€ã³ã¹ããŒã«ããã¯ã©ã€ã¢ã³ãçšã« GRE ãèšå®ãããšããã¢ã€ãã¢ãæãã€ããŸããããçµå±ã®ãšãããGRE ã¯æå·åããµããŒãããŠããªãããã第äžè ããµãŒããŒã«ã¢ã¯ã»ã¹ãããšãç§ã®ãããã¯ãŒã¯éã®ãã¹ãŠã®ãã©ãã£ãã¯ã¯åœŒãã®æã«æž¡ããŸãããããã¯ç§ã«ã¯ãŸã£ããé©ããŠããŸããã§ããã
ããã§ããæ¬¡ã®ã¹ããŒã ã䜿çšã㊠VPN over VPN ã䜿çšããããšã«ãããåé·æå·åãæ¯æããæ±ºå®ãäžãããŸããã
ã¬ãã« XNUMX VPN:
VPS ã§ã ãµãŒã å
éšã¢ãã¬ã¹ 192.168.30.1
MS ã§ã ã¯ã©ã€ã¢ã³ã å
éšã¢ãã¬ã¹ 192.168.30.2 ã® VPS
MK2 ã§ã ã¯ã©ã€ã¢ã³ã å
éšã¢ãã¬ã¹ 192.168.30.3 ã® VPS
MK3 ã§ã ã¯ã©ã€ã¢ã³ã å
éšã¢ãã¬ã¹ 192.168.30.4 ã® VPS
第 XNUMX ã¬ãã«ã® VPN:
MS ã§ã ãµãŒã å€éšã¢ãã¬ã¹ 192.168.30.2 ãšå
éšã¢ãã¬ã¹ 192.168.31.1
MK2 ã§ã ã¯ã©ã€ã¢ã³ã MS ã¢ãã¬ã¹ã¯ 192.168.30.2 ã§ãå
éš IP 㯠192.168.31.2 ã§ãã
MK3 ã§ã ã¯ã©ã€ã¢ã³ã MS ã¢ãã¬ã¹ã¯ 192.168.30.2 ã§ãå
éš IP 㯠192.168.31.3 ã§ãã
* MS â ã¢ããŒã 1 ã®ã«ãŒã¿ãŒãµãŒããŒã MK2 - ã¢ããŒã2ã®ã«ãŒã¿ãŒã MK3 - ã¢ããŒãã®ã«ãŒã¿ãŒ 3
â»ç«¯æ«æ§æã¯èšäºæ«å°Ÿã®ãã¿ãã¬ã«ãŠæ²èŒããŠãããŸãã
ãããã¯ãŒã¯ ããŒã 192.168.31.0/24 éã§ ping ãå®è¡ãããŠãããããGRE ãã³ãã«ã®èšå®ã«é²ã¿ãŸãã ãã®åã«ãã«ãŒã¿ãŒãžã®ã¢ã¯ã»ã¹ã倱ããªãããã«ããããã«ãããŒã 22 ã VPS ã«è»¢éããããã« SSH ãã³ãã«ãèšå®ãã䟡å€ããããŸããããã«ãããããšãã°ãã¢ããŒã 10022 ã®ã«ãŒã¿ãŒã VPS ã®ããŒã 2 ã§ã¢ã¯ã»ã¹ã§ããããã«ãªããã¢ããŒã 11122 ã®ã«ãŒã¿ãŒã¯ãããŒã 3 ã§ã¢ã¯ã»ã¹ã§ããŸããã¢ããŒã XNUMX ã®ã«ãŒã¿ãŒã¯ãåã sshtunnel ã䜿çšããŠè»¢éãèšå®ããã®ãæåã§ããããã¯ãé害ãçºçããå Žåã«ãã³ãã«ã埩å ããããã§ãã
ãã³ãã«ãæ§æããã転éãããããŒããä»ã㊠SSH ã«æ¥ç¶ã§ããŸãã
ssh root@ÐÐÐ_VPS -p 10022次ã«ç¡å¹ã«ããå¿ èŠããããŸã OpenVPN:
/etc/init.d/openvpn stop次ã«ãã¢ããŒã 2 ã®ã«ãŒã¿ãŒã« GRE ãã³ãã«ãèšå®ããŸãããã
ip link add grelan0 type gretap remote 192.168.31.1 local 192.168.31.2
ip link set grelan0 up
ãããŠãäœæããã€ã³ã¿ãŒãã§ã€ã¹ãããªããžã«è¿œå ããŸãã
brctl addif br-lan grelan0
ãµãŒããŒã«ãŒã¿ãŒã§ãåæ§ã®æé ãå®è¡ããŠã¿ãŸãããã
ip link add grelan0 type gretap remote 192.168.31.2 local 192.168.31.1
ip link set grelan0 up
ãŸããäœæããã€ã³ã¿ãŒãã§ã€ã¹ãããªããžã«è¿œå ããŸãã
brctl addif br-lan grelan0
ãã®ç¬éãããping ãæ°ãããããã¯ãŒã¯ã«æ£åžžã«éä¿¡ããå§ããæºè¶³ããŠã³ãŒããŒã飲ã¿ã«è¡ããŸãã æ¬¡ã«ãåç·ã®çžæåŽã§ãããã¯ãŒã¯ãã©ã®ããã«åäœããŠããããè©äŸ¡ããããã«ãã¢ããŒã 2 ã®ã³ã³ãã¥ãŒã¿ã® 22 å°ã« SSH æ¥ç¶ããããšããŸããããSSH ã¯ã©ã€ã¢ã³ãã¯ãã¹ã¯ãŒãã®å ¥åãæ±ããããã³ããã衚瀺ããã«ããªãŒãºããŸããã ããŒã XNUMX ã® Telnet çµç±ã§ãã®ã³ã³ãã¥ãŒã¿ã«æ¥ç¶ããããšãããšãæ¥ç¶ã確ç«ãããŠããããšãSSH ãµãŒããŒãå¿çããŠããããšãçè§£ã§ããè¡ã衚瀺ãããŸãããäœããã®çç±ã§ãã°ãæ±ããããã³ããã衚瀺ãããŸãããã§ã
$ telnet 192.168.10.110 22
SSH-2.0-OpenSSH_8.1
VNC çµç±ã§æ¥ç¶ããããšããŸããããé»ãç»é¢ã衚瀺ãããŸãã ãã®ã¢ããŒãããã¯å éšã¢ãã¬ã¹ã䜿çšããŠç°¡åã«ã«ãŒã¿ãŒã«æ¥ç¶ã§ãããããåé¡ã¯ãªã¢ãŒã ã³ã³ãã¥ãŒã¿ãŒã«ãããšèªåèªèº«ã«çŽåŸãããŸãã ããããã«ãŒã¿ãŒãä»ããŠãã®ã³ã³ãã¥ãŒã¿ãŒã® SSH ã«æ¥ç¶ããããšã«ãããšãããæ¥ç¶ã¯æåãããªã¢ãŒã ã³ã³ãã¥ãŒã¿ãŒã¯æ£åžžã«åäœããŠããã®ã«ãç§ã®ã³ã³ãã¥ãŒã¿ãŒã«ãæ¥ç¶ã§ããªãããšã«æ°ã¥ããŸããã
grelan0 ããã€ã¹ãããªããžããåãå€ããŠå®è¡ããŸã OpenVPN ã¢ããŒã2ã®ã«ãŒã¿ãŒã§ããããã¯ãŒã¯ãæ£åžžã«åäœããæ¥ç¶ãåæãããŠããªãããšã確èªããŸãããæ€çŽ¢ãããšãããåãåé¡ã«ã€ããŠäžæºãè¿°ã¹ãŠãããã©ãŒã©ã ãèŠã€ãããMTUãäžããããã«ã¢ããã€ã¹ãããŠããŸãããèšãããéãã«ãã£ãŠã¿ãŸãããããããMTUãååã«é«ãèšå®ãããŸã§ïŒgretapããã€ã¹ã®å Žåã¯7000ïŒãTCPæ¥ç¶ãåæããããã転éé床ãäœäžããŸãããgretapã®MTUãé«ããããæ¥ç¶ã®MTUã WireGuard 第1ã¬ãã«ãšç¬¬2ã¬ãã«ã¯ããããã8000ãš7500ã«èšå®ãããã
ã¢ããŒã 3 ã®ã«ãŒã¿ãŒã§ãåæ§ã®èšå®ãå®è¡ããŸããããå¯äžã®éãã¯ãgrelan1 ãšããååã® XNUMX çªç®ã® gretap ã€ã³ã¿ãŒãã§ã€ã¹ããµãŒã㌠ã«ãŒã¿ãŒã«è¿œå ãããbr-lan ããªããžã«ã远å ãããããšã§ãã
ãã¹ãŠãæ©èœããŠããŸãã ããã§ãgretap ã¢ã»ã³ããªãã¹ã¿ãŒãã¢ããã«å ¥ããããšãã§ããŸãã ãã®ããã«ïŒ
ã¢ããŒã 2 ã®ã«ãŒã¿ãŒã® /etc/rc.local ã«æ¬¡ã®è¡ãé 眮ããŸããã
ip link add grelan0 type gretap remote 192.168.31.1 local 192.168.31.2
ip link set dev grelan0 mtu 7000
ip link set grelan0 up
brctl addif br-lan grelan0
ãããã¢ããŒã 3 ã®ã«ãŒã¿ãŒã® /etc/rc.local ã«è¿œå ããŸããã
ip link add grelan0 type gretap remote 192.168.31.1 local 192.168.31.3
ip link set dev grelan0 mtu 7000
ip link set grelan0 up
brctl addif br-lan grelan0
ãããŠãµãŒããŒã«ãŒã¿ãŒã§ã¯æ¬¡ã®ããã«ãªããŸãã
ip link add grelan0 type gretap remote 192.168.31.2 local 192.168.31.1
ip link set dev grelan0 mtu 7000
ip link set grelan0 up
brctl addif br-lan grelan0
ip link add grelan1 type gretap remote 192.168.31.3 local 192.168.31.1
ip link set dev grelan1 mtu 7000
ip link set grelan1 up
brctl addif br-lan grelan1
ã¯ã©ã€ã¢ã³ãã«ãŒã¿ãŒãåèµ·åããåŸãäœããã®çç±ã§ãµãŒããŒã«æ¥ç¶ã§ããŠããªãããšãããããŸãããSSHã«æ¥ç¶ããåŸïŒå¹žãã«ãããã®ããã«äºåã«sshtunnelãèšå®ããŠãããŸããïŒã WireGuard äœããã®çç±ã§ããšã³ããã€ã³ããžã®ã«ãŒããäœæãããŸãããããã¯ééã£ãŠããŸããããšãã°ã192.168.30.2 ã®å Žåãã«ãŒãã£ã³ã° ããŒãã«ã¯ pppoe-wan ã€ã³ã¿ãŒãã§ã€ã¹çµç±ãã€ãŸãã€ã³ã¿ãŒãããçµç±ã®ã«ãŒããæå®ããŠããŸããããæ¬æ¥ã¯ wg0 ã€ã³ã¿ãŒãã§ã€ã¹çµç±ã®ã«ãŒãã§ããã¹ãã§ããããã®ã«ãŒããåé€ããåŸãæ¥ç¶ã¯åŸ©å ãããŸããã匷å¶çã«ã«ãŒãã倿Žããæ¹æ³ã«ã€ããŠã®èª¬æã¯ã©ããã«ãããŸããïŒ WireGuard ãããã®ã«ãŒããäœæããããšã¯é¿ããããŸããã§ãããããã«ãããã OpenWRT ã®æ©èœãªã®ãããããšã WireGuardåé¡è§£æ±ºã«æéããããã«ãäž¡æ¹ã®ã«ãŒã¿ãŒã®ã¿ã€ããŒã«ãŒãã¹ã¯ãªããã«ããã®ã«ãŒããåé€ããè¡ãåçŽã«è¿œå ããŸããã
route del 192.168.30.2
èŠçŽ
å®å šãªæåŠ OpenVPN ãŸã å®å šã«ã¯å®çŸã§ããŠããŸããããšããã®ããæã ããŒãããœã³ã³ãã¹ããŒããã©ã³ããæ°ãããããã¯ãŒã¯ã«æ¥ç¶ããå¿ èŠãããã®ã§ããããããã®ããã€ã¹ã«gretapããã€ã¹ãèšå®ããã®ã¯äžè¬çã«äžå¯èœã ããã§ããããããããã§ãã¢ããŒãéã®ããŒã¿è»¢éé床ã¯åäžããäŸãã°VNCã®äœ¿çšãä»ã§ã¯æéãããããªããªããŸãããpingå€ã¯ãããã«äœäžããŸããããããå®å®ããŠããŸãã
䜿çšããŠããå Žå OpenVPN:
[r0ck3r@desktop ~]$ ping -c 20 192.168.10.110
PING 192.168.10.110 (192.168.10.110) 56(84) bytes of data.
64 bytes from 192.168.10.110: icmp_seq=1 ttl=64 time=133 ms
...
64 bytes from 192.168.10.110: icmp_seq=20 ttl=64 time=125 ms
--- 192.168.10.110 ping statistics ---
20 packets transmitted, 20 received, 0% packet loss, time 19006ms
rtt min/avg/max/mdev = 124.722/126.152/136.907/3.065 ms
䜿çšããŠããå Žå WireGuard:
[r0ck3r@desktop ~]$ ping -c 20 192.168.10.110
PING 192.168.10.110 (192.168.10.110) 56(84) bytes of data.
64 bytes from 192.168.10.110: icmp_seq=1 ttl=64 time=124 ms
...
64 bytes from 192.168.10.110: icmp_seq=20 ttl=64 time=124 ms
--- 192.168.10.110 ping statistics ---
20 packets transmitted, 20 received, 0% packet loss, time 19003ms
rtt min/avg/max/mdev = 123.954/124.423/126.708/0.675 ms
VPS ãžã®é«ã ping (çŽ 61.5 ããªç§) ã®åœ±é¿ããã倧ãããªããŸãã
ããããé床ã¯å€§å¹ ã«åäžããŸãããã«ãŒã¿ãŒãµãŒããŒã®ããã¢ããŒãã§ã¯ã€ã³ã¿ãŒãããæ¥ç¶é床ã30Mbpsã§ãããä»ã®ã¢ããŒãã§ã¯5Mbpsã§ããããã«ã䜿çšäž OpenVPN iperfã®æž¬å®çµæã«ãããšããããã¯ãŒã¯éã§3,8Mbpsãè¶ ããããŒã¿è»¢éé床ãéæããããšã¯ã§ããŸããã§ãããã WireGuard åã5 Mbit/ç§ãŸã§ãåŒãäžãããã
èšå® WireGuard VPSäžã§[Interface]
Address = 192.168.30.1/24
ListenPort = 51820
PrivateKey = <ÐÐÐРЫТЫÐ_ÐÐЮЧ_ÐÐЯ_VPS>
[ãã¢]
å
¬ééµ = <VPN_1_MS_PUBLIC_KEY>
èš±å¯ãããIP = 192.168.30.2/32
[ãã¢]
å
¬ééµ = <VPN_2_MK2_PUBLIC_KEY>
èš±å¯ãããIP = 192.168.30.3/32
[ãã¢]
å
¬ééµ = <VPN_2_MK3_PUBLIC_KEY>
èš±å¯ãããIP = 192.168.30.4/32
èšå® WireGuard MSäžã§ïŒ/etc/config/networkã«è¿œå ïŒ
#VPN пеÑвПгП ÑÑÐŸÐ²ÐœÑ - клОеМÑ
config interface 'wg0'
option proto 'wireguard'
list addresses '192.168.30.2/24'
option private_key 'ÐÐÐРЫТЫÐ_ÐÐЮЧ_VPN_1_ÐС'
option auto '1'
option mtu '8000'
config wireguard_wg0
option public_key 'ÐТÐРЫТЫÐ_ÐÐЮЧ_VPN_1_VPS'
option endpoint_port '51820'
option route_allowed_ips '1'
option persistent_keepalive '25'
list allowed_ips '192.168.30.0/24'
option endpoint_host 'IP_ÐÐÐ ÐС_VPS'
#VPN вÑПÑПгП ÑÑÐŸÐ²ÐœÑ - ÑеÑвеÑ
config interface 'wg1'
option proto 'wireguard'
option private_key 'ÐÐÐРЫТЫÐ_ÐÐЮЧ_VPN_2_ÐС'
option listen_port '51821'
list addresses '192.168.31.1/24'
option auto '1'
option mtu '7500'
config wireguard_wg1
option public_key 'ÐТÐРЫТЫÐ_ÐÐЮЧ_VPN_2_ÐÐ2'
list allowed_ips '192.168.31.2'
config wireguard_wg1ip link add grelan0 type gretap remote 192.168.31.1 local 192.168.31.3
option public_key 'ÐТÐРЫТЫÐ_ÐÐЮЧ_VPN_2_ÐÐ3'
list allowed_ips '192.168.31.3'
èšå® WireGuard MK2ã®å ŽåïŒ/etc/config/networkã«è¿œå ïŒ
#VPN пеÑвПгП ÑÑÐŸÐ²ÐœÑ - клОеМÑ
config interface 'wg0'
option proto 'wireguard'
list addresses '192.168.30.3/24'
option private_key 'ÐÐÐРЫТЫÐ_ÐÐЮЧ_VPN_1_ÐÐ2'
option auto '1'
option mtu '8000'
config wireguard_wg0
option public_key 'ÐТÐРЫТЫÐ_ÐÐЮЧ_VPN_1_VPS'
option endpoint_port '51820'
option persistent_keepalive '25'
list allowed_ips '192.168.30.0/24'
option endpoint_host 'IP_ÐÐÐ ÐС_VPS'
#VPN вÑПÑПгП ÑÑÐŸÐ²ÐœÑ - клОеМÑ
config interface 'wg1'
option proto 'wireguard'
option private_key 'ÐÐÐРЫТЫÐ_ÐÐЮЧ_VPN_2_ÐÐ2'
list addresses '192.168.31.2/24'
option auto '1'
option listen_port '51821'
option mtu '7500'
config wireguard_wg1
option public_key 'ÐТÐРЫТЫÐ_ÐÐЮЧ_VPN_2_ÐС'
option endpoint_host '192.168.30.2'
option endpoint_port '51821'
option persistent_keepalive '25'
list allowed_ips '192.168.31.0/24'
èšå® WireGuard MK3ã®å ŽåïŒ/etc/config/networkã«è¿œå ïŒ
#VPN пеÑвПгП ÑÑÐŸÐ²ÐœÑ - клОеМÑ
config interface 'wg0'
option proto 'wireguard'
list addresses '192.168.30.4/24'
option private_key 'ÐÐÐРЫТЫÐ_ÐÐЮЧ_VPN_1_ÐÐ3'
option auto '1'
option mtu '8000'
config wireguard_wg0
option public_key 'ÐТÐРЫТЫÐ_ÐÐЮЧ_VPN_1_VPS'
option endpoint_port '51820'
option persistent_keepalive '25'
list allowed_ips '192.168.30.0/24'
option endpoint_host 'IP_ÐÐÐ ÐС_VPS'
#VPN вÑПÑПгП ÑÑÐŸÐ²ÐœÑ - клОеМÑ
config interface 'wg1'
option proto 'wireguard'
option private_key 'ÐÐÐРЫТЫÐ_ÐÐЮЧ_VPN_2_ÐÐ3'
list addresses '192.168.31.3/24'
option auto '1'
option listen_port '51821'
option mtu '7500'
config wireguard_wg1
option public_key 'ÐТÐРЫТЫÐ_ÐÐЮЧ_VPN_2_ÐС'
option endpoint_host '192.168.30.2'
option endpoint_port '51821'
option persistent_keepalive '25'
list allowed_ips '192.168.31.0/24'
第äºå±€VPNã®èšè¿°ãããæ§æã§ã¯ãã¯ã©ã€ã¢ã³ãã«å¯ŸããŠã WireGuard ããŒã51821ãã¯ã©ã€ã¢ã³ãã¯ä»»æã®ç©ºããŠããéç¹æš©ããŒãããæ¥ç¶ã確ç«ãããããããã¯æ¬æ¥å¿ èŠãªãã¯ãã§ãããããŒã51821ãžã®UDPæ¥ç¶ãé€ãããã¹ãŠã®ã«ãŒã¿ãŒã®wg0ã€ã³ã¿ãŒãã§ãŒã¹ãžã®ãã¹ãŠã®çä¿¡æ¥ç¶ãæåŠã§ããããã«ããã®ããã«èšå®ããŸããã
ãã®èšäºã誰ãã®åœ¹ã«ç«ãŠã°å¹žãã§ãã
PS ãŸãããããã¯ãŒã¯äžã«æ°ããããã€ã¹ã衚瀺ããããšãã«ãWirePusher ã¢ããªã±ãŒã·ã§ã³ã§æºåž¯é»è©±ã« PUSH éç¥ãéä¿¡ããã¹ã¯ãªãããå ±æããããšèããŠããŸãã ã¹ã¯ãªãããžã®ãªã³ã¯ã¯æ¬¡ã®ãšããã§ãã .
UPDATEïŒ èšå® OpenVPN-ãµãŒããŒãšã¯ã©ã€ã¢ã³ã
OpenVPN-ãµãŒã
client-to-client
ca /etc/openvpn/server/ca.crt
cert /etc/openvpn/server/vpn-server.crt
dh /etc/openvpn/server/dh.pem
key /etc/openvpn/server/vpn-server.key
dev tap
ifconfig-pool-persist /etc/openvpn/ipp.txt 0
keepalive 10 60
proto tcp4
server-bridge 192.168.10.1 255.255.255.0 192.168.10.80 192.168.10.254
status /var/log/openvpn-status.log
verb 3
comp-lzoOpenVPN-ã¯ã©ã€ã¢ã³ã
client
tls-client
dev tap
proto tcp
remote VPS_IP 1194 # Change to your router's External IP
resolv-retry infinite
nobind
ca client/ca.crt
cert client/client.crt
key client/client.key
dh client/dh.pem
comp-lzo
persist-tun
persist-key
verb 3 easy-rsaã䜿çšããŠèšŒææžãçæããŸãã
åºæïŒ habr.com
