ನೆಟ್‌ವರ್ಕ್‌ಗಳನ್ನು ಒಂದು L2 ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಕ್ರೋಢೀಕರಿಸಲು OpenVPN ನಿಂದ WireGuard ಗೆ ವಲಸೆ

ನೆಟ್‌ವರ್ಕ್‌ಗಳನ್ನು ಒಂದು L2 ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಕ್ರೋಢೀಕರಿಸಲು OpenVPN ನಿಂದ WireGuard ಗೆ ವಲಸೆ

ಮೂರು ಭೌಗೋಳಿಕವಾಗಿ ದೂರದ ಅಪಾರ್ಟ್ಮೆಂಟ್ಗಳಲ್ಲಿ ನೆಟ್‌ವರ್ಕ್‌ಗಳನ್ನು ಸಂಯೋಜಿಸುವ ನನ್ನ ಅನುಭವವನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ನಾನು ಬಯಸುತ್ತೇನೆ, ಪ್ರತಿಯೊಂದೂ ಓಪನ್‌ಡಬ್ಲ್ಯೂಆರ್‌ಟಿಯೊಂದಿಗೆ ರೂಟರ್‌ಗಳನ್ನು ಗೇಟ್‌ವೇ ಆಗಿ, ಒಂದು ಸಾಮಾನ್ಯ ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಬಳಸುತ್ತದೆ. ಎಲ್ಲಾ ನೆಟ್‌ವರ್ಕ್ ನೋಡ್‌ಗಳು ಒಂದೇ ಸಬ್‌ನೆಟ್‌ನಲ್ಲಿರುವಾಗ ಎಲ್3 ಸಬ್‌ನೆಟ್ ರೂಟಿಂಗ್ ಮತ್ತು ಎಲ್2 ಬ್ರಿಡ್ಜಿಂಗ್ ನಡುವೆ ನೆಟ್‌ವರ್ಕ್‌ಗಳನ್ನು ಸಂಯೋಜಿಸುವ ವಿಧಾನವನ್ನು ಆಯ್ಕೆಮಾಡುವಾಗ, ಎರಡನೇ ವಿಧಾನಕ್ಕೆ ಆದ್ಯತೆ ನೀಡಲಾಯಿತು, ಇದು ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ಹೆಚ್ಚು ಕಷ್ಟಕರವಾಗಿದೆ, ಆದರೆ ಹೆಚ್ಚಿನ ಅವಕಾಶಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ, ಏಕೆಂದರೆ ಪಾರದರ್ಶಕ ರಚಿಸಲಾದ ನೆಟ್‌ವರ್ಕ್ ವೇಕ್-ಆನ್-ಲ್ಯಾನ್ ಮತ್ತು DLNA ನಲ್ಲಿ ತಂತ್ರಜ್ಞಾನಗಳ ಬಳಕೆಯನ್ನು ಯೋಜಿಸಲಾಗಿದೆ.

ಭಾಗ 1: ಹಿನ್ನೆಲೆ

ಓಪನ್‌ವಿಪಿಎನ್ ಅನ್ನು ಆರಂಭದಲ್ಲಿ ಈ ಕಾರ್ಯವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಪ್ರೋಟೋಕಾಲ್ ಆಗಿ ಆಯ್ಕೆಮಾಡಲಾಗಿದೆ, ಏಕೆಂದರೆ, ಮೊದಲನೆಯದಾಗಿ, ಇದು ಯಾವುದೇ ತೊಂದರೆಗಳಿಲ್ಲದೆ ಸೇತುವೆಗೆ ಸೇರಿಸಬಹುದಾದ ಟ್ಯಾಪ್ ಸಾಧನವನ್ನು ರಚಿಸಬಹುದು ಮತ್ತು ಎರಡನೆಯದಾಗಿ, ಓಪನ್‌ವಿಪಿಎನ್ ಟಿಸಿಪಿ ಪ್ರೋಟೋಕಾಲ್‌ನಲ್ಲಿ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ, ಇದು ಸಹ ಮುಖ್ಯವಾಗಿದೆ, ಏಕೆಂದರೆ ಯಾವುದೇ ಅಪಾರ್ಟ್‌ಮೆಂಟ್‌ಗಳು ಮೀಸಲಾದ IP ವಿಳಾಸವನ್ನು ಹೊಂದಿಲ್ಲ, ಮತ್ತು ನಾನು STUN ಅನ್ನು ಬಳಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ, ಏಕೆಂದರೆ ಕೆಲವು ಕಾರಣಗಳಿಂದಾಗಿ ನನ್ನ ISP ಅವರ ನೆಟ್‌ವರ್ಕ್‌ಗಳಿಂದ ಒಳಬರುವ UDP ಸಂಪರ್ಕಗಳನ್ನು ನಿರ್ಬಂಧಿಸುತ್ತದೆ, ಆದರೆ TCP ಪ್ರೋಟೋಕಾಲ್ SSH ಬಳಸಿಕೊಂಡು ಬಾಡಿಗೆ VPS ನಲ್ಲಿ VPN ಸರ್ವರ್ ಪೋರ್ಟ್ ಅನ್ನು ಫಾರ್ವರ್ಡ್ ಮಾಡಲು ನನಗೆ ಅವಕಾಶ ಮಾಡಿಕೊಟ್ಟಿತು. ಹೌದು, ಈ ವಿಧಾನವು ದೊಡ್ಡ ಹೊರೆ ನೀಡುತ್ತದೆ, ಏಕೆಂದರೆ ಡೇಟಾವನ್ನು ಎರಡು ಬಾರಿ ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಲಾಗಿದೆ, ಆದರೆ ನನ್ನ ಖಾಸಗಿ ನೆಟ್‌ವರ್ಕ್‌ಗೆ VPS ಅನ್ನು ಪರಿಚಯಿಸಲು ನಾನು ಬಯಸಲಿಲ್ಲ, ಏಕೆಂದರೆ ಮೂರನೇ ವ್ಯಕ್ತಿಗಳು ಅದರ ಮೇಲೆ ನಿಯಂತ್ರಣ ಸಾಧಿಸುವ ಅಪಾಯ ಇನ್ನೂ ಇತ್ತು, ಆದ್ದರಿಂದ, ಅಂತಹ ಹೋಮ್ ನೆಟ್ವರ್ಕ್ನಲ್ಲಿನ ಸಾಧನವು ಅತ್ಯಂತ ಅನಪೇಕ್ಷಿತವಾಗಿದೆ ಮತ್ತು ದೊಡ್ಡ ಓವರ್ಹೆಡ್ನೊಂದಿಗೆ ಭದ್ರತೆಗಾಗಿ ಪಾವತಿಸಲು ನಿರ್ಧರಿಸಲಾಯಿತು.

ಸರ್ವರ್ ಅನ್ನು ನಿಯೋಜಿಸಲು ಯೋಜಿಸಲಾದ ರೂಟರ್‌ನಲ್ಲಿ ಪೋರ್ಟ್ ಅನ್ನು ಫಾರ್ವರ್ಡ್ ಮಾಡಲು, sshtunnel ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಬಳಸಲಾಗಿದೆ. ಅದರ ಸಂರಚನೆಯ ಜಟಿಲತೆಗಳನ್ನು ನಾನು ವಿವರಿಸುವುದಿಲ್ಲ - ಇದನ್ನು ಸುಲಭವಾಗಿ ಮಾಡಲಾಗುತ್ತದೆ, ರೂಟರ್‌ನಿಂದ VPS ಗೆ TCP ಪೋರ್ಟ್ 1194 ಅನ್ನು ಫಾರ್ವರ್ಡ್ ಮಾಡುವುದು ಅದರ ಕಾರ್ಯವಾಗಿದೆ ಎಂದು ನಾನು ಗಮನಿಸುತ್ತೇನೆ. ಮುಂದೆ, OpenVPN ಸರ್ವರ್ ಅನ್ನು ಟ್ಯಾಪ್0 ಸಾಧನದಲ್ಲಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗಿದೆ, ಇದನ್ನು br-lan ಸೇತುವೆಗೆ ಸಂಪರ್ಕಿಸಲಾಗಿದೆ. ಲ್ಯಾಪ್‌ಟಾಪ್‌ನಿಂದ ಹೊಸದಾಗಿ ರಚಿಸಲಾದ ಸರ್ವರ್‌ಗೆ ಸಂಪರ್ಕವನ್ನು ಪರಿಶೀಲಿಸಿದ ನಂತರ, ಪೋರ್ಟ್ ಫಾರ್ವರ್ಡ್ ಮಾಡುವ ಕಲ್ಪನೆಯು ಸ್ವತಃ ಸಮರ್ಥಿಸಲ್ಪಟ್ಟಿದೆ ಮತ್ತು ನನ್ನ ಲ್ಯಾಪ್‌ಟಾಪ್ ರೂಟರ್‌ನ ನೆಟ್‌ವರ್ಕ್‌ನ ಸದಸ್ಯರಾದರು, ಆದರೂ ಅದು ಭೌತಿಕವಾಗಿ ಅದರಲ್ಲಿಲ್ಲ.

ವಿಷಯವು ಚಿಕ್ಕದಾಗಿದೆ: ವಿಭಿನ್ನ ಅಪಾರ್ಟ್ಮೆಂಟ್ಗಳಲ್ಲಿ 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 ಅಪಾರ್ಟ್ಮೆಂಟ್ ಸಂಖ್ಯೆ 2 ರಲ್ಲಿ ರೂಟರ್ಗಾಗಿ
  • 192.168.10.150 ವ್ಯಾಪ್ತಿಯೊಂದಿಗೆ 192.168.10.151 - 192.168.10.199 ಅಪಾರ್ಟ್ಮೆಂಟ್ ಸಂಖ್ಯೆ 3 ರಲ್ಲಿ ರೂಟರ್ಗಾಗಿ

ಲೈನ್ ಅನ್ನು ಅದರ ಕಾನ್ಫಿಗರೇಶನ್‌ಗೆ ಸೇರಿಸುವ ಮೂಲಕ OpenVPN ಸರ್ವರ್‌ನ ಕ್ಲೈಂಟ್ ರೂಟರ್‌ಗಳಿಗೆ ನಿಖರವಾಗಿ ಈ ವಿಳಾಸಗಳನ್ನು ನಿಯೋಜಿಸಲು ಸಹ ಇದು ಅಗತ್ಯವಾಗಿತ್ತು:

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 ಗೆ ಸಂಪರ್ಕಿಸಲು ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು ರಚಿಸುವಾಗ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಸಾಧನದ ಹೆಸರುಗಳಾಗಿವೆ

ಮುಂದೆ, ಓಪನ್‌ವಿಪಿಎನ್ ಕ್ಲೈಂಟ್‌ಗಳನ್ನು ರೂಟರ್‌ಗಳಲ್ಲಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗಿದೆ, ಎರಡರಲ್ಲೂ ಟ್ಯಾಪ್0 ಸಾಧನಗಳನ್ನು ಬ್ರ-ಲ್ಯಾನ್ ಸೇತುವೆಗೆ ಸೇರಿಸಲಾಗಿದೆ. ಈ ಹಂತದಲ್ಲಿ, ಎಲ್ಲಾ ಮೂರು ನೆಟ್‌ವರ್ಕ್‌ಗಳು ಪರಸ್ಪರ ನೋಡುವುದರಿಂದ ಮತ್ತು ಒಟ್ಟಾರೆಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುವುದರಿಂದ ಎಲ್ಲವೂ ಕ್ರಮದಲ್ಲಿದೆ ಎಂದು ತೋರುತ್ತದೆ. ಆದಾಗ್ಯೂ, ಬಹಳ ಆಹ್ಲಾದಕರವಲ್ಲದ ವಿವರವು ಹೊರಹೊಮ್ಮಿತು: ಕೆಲವೊಮ್ಮೆ ಸಾಧನಗಳು ತಮ್ಮ ರೂಟರ್‌ನಿಂದ IP ವಿಳಾಸವನ್ನು ಪಡೆಯಬಹುದು, ನಂತರದ ಎಲ್ಲಾ ಪರಿಣಾಮಗಳೊಂದಿಗೆ. ಕೆಲವು ಕಾರಣಕ್ಕಾಗಿ, ಅಪಾರ್ಟ್ಮೆಂಟ್ಗಳಲ್ಲಿ ಒಂದರಲ್ಲಿ ರೂಟರ್ ಸಮಯಕ್ಕೆ DHCPDISCOVER ಗೆ ಪ್ರತಿಕ್ರಿಯಿಸಲು ಸಮಯ ಹೊಂದಿಲ್ಲ ಮತ್ತು ಸಾಧನವು ತಪ್ಪು ವಿಳಾಸವನ್ನು ಸ್ವೀಕರಿಸಿದೆ. ಪ್ರತಿಯೊಂದು ರೂಟರ್‌ಗಳಲ್ಲಿ ನಾನು ಅಂತಹ ವಿನಂತಿಗಳನ್ನು ಟ್ಯಾಪ್ 0 ನಲ್ಲಿ ಫಿಲ್ಟರ್ ಮಾಡಬೇಕಾಗಿದೆ ಎಂದು ನಾನು ಅರಿತುಕೊಂಡೆ, ಆದರೆ ಅದು ಬದಲಾದಂತೆ, ಸೇತುವೆಯ ಭಾಗವಾಗಿದ್ದರೆ ಐಪ್ಟೇಬಲ್‌ಗಳು ಸಾಧನದೊಂದಿಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುವುದಿಲ್ಲ ಮತ್ತು 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

ಈ ಸಂರಚನೆಯು ಮೂರು ವರ್ಷಗಳ ಕಾಲ ನಡೆಯಿತು.

ಭಾಗ 2: ವೈರ್‌ಗಾರ್ಡ್ ಅನ್ನು ಪರಿಚಯಿಸಲಾಗುತ್ತಿದೆ

ಇತ್ತೀಚೆಗೆ, ಇಂಟರ್ನೆಟ್ ವೈರ್‌ಗಾರ್ಡ್ ಬಗ್ಗೆ ಹೆಚ್ಚು ಮಾತನಾಡುತ್ತಿದೆ, ಅದರ ಸಂರಚನೆಯ ಸರಳತೆ, ಹೆಚ್ಚಿನ ವರ್ಗಾವಣೆ ವೇಗ, ಹೋಲಿಸಬಹುದಾದ ಭದ್ರತೆಯೊಂದಿಗೆ ಕಡಿಮೆ ಪಿಂಗ್ ಅನ್ನು ಮೆಚ್ಚಿಸುತ್ತದೆ. ಅದರ ಬಗ್ಗೆ ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ ಹುಡುಕಿದಾಗ, ಸೇತುವೆಯ ಸದಸ್ಯರಾಗಿ ಅಥವಾ TCP ಪ್ರೋಟೋಕಾಲ್‌ನಲ್ಲಿ ಕೆಲಸ ಮಾಡುವುದನ್ನು ಅದು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ ಎಂದು ಸ್ಪಷ್ಟಪಡಿಸಿದೆ, ಇದು ನನಗೆ OpenVPN ಗೆ ಇನ್ನೂ ಯಾವುದೇ ಪರ್ಯಾಯಗಳಿಲ್ಲ ಎಂದು ಯೋಚಿಸುವಂತೆ ಮಾಡಿದೆ. ಹಾಗಾಗಿ ವೈರ್‌ಗಾರ್ಡ್ ಬಗ್ಗೆ ತಿಳಿದುಕೊಳ್ಳುವುದನ್ನು ನಾನು ಮುಂದೂಡಿದೆ.

ಕೆಲವು ದಿನಗಳ ಹಿಂದೆ, ವೈರ್‌ಗಾರ್ಡ್ ಅನ್ನು ಅಂತಿಮವಾಗಿ ಆವೃತ್ತಿ 5.6 ರಿಂದ ಪ್ರಾರಂಭಿಸಿ ಲಿನಕ್ಸ್ ಕರ್ನಲ್‌ನಲ್ಲಿ ಸೇರಿಸಲಾಗುವುದು ಎಂದು ಐಟಿಗೆ ಸಂಬಂಧಿಸಿದ ಒಂದು ರೀತಿಯಲ್ಲಿ ಅಥವಾ ಇನ್ನೊಂದು ರೀತಿಯಲ್ಲಿ ಸಂಪನ್ಮೂಲಗಳ ಮೂಲಕ ಸುದ್ದಿ ಹರಡಿತು. ಸುದ್ದಿ ಲೇಖನಗಳು, ಯಾವಾಗಲೂ, WireGuard ಅನ್ನು ಹೊಗಳಿದವು. ನಾನು ಮತ್ತೆ ಉತ್ತಮ ಹಳೆಯ OpenVPN ಅನ್ನು ಬದಲಿಸುವ ಮಾರ್ಗಗಳ ಹುಡುಕಾಟದಲ್ಲಿ ಮುಳುಗಿದೆ. ಈ ಬಾರಿ ನಾನು ಓಡಿದೆ ಈ ಲೇಖನ. ಇದು GRE ಬಳಸಿಕೊಂಡು L3 ಮೇಲೆ ಎತರ್ನೆಟ್ ಸುರಂಗವನ್ನು ರಚಿಸುವ ಬಗ್ಗೆ ಮಾತನಾಡಿದೆ. ಈ ಲೇಖನ ನನಗೆ ಭರವಸೆಯನ್ನು ನೀಡಿತು. UDP ಪ್ರೋಟೋಕಾಲ್‌ನೊಂದಿಗೆ ಏನು ಮಾಡಬೇಕೆಂದು ಅಸ್ಪಷ್ಟವಾಗಿಯೇ ಉಳಿದಿದೆ. ಹುಡುಕಾಟವು UDP ಪೋರ್ಟ್ ಅನ್ನು ಫಾರ್ವರ್ಡ್ ಮಾಡಲು SSH ಸುರಂಗದ ಜೊತೆಯಲ್ಲಿ socat ಅನ್ನು ಬಳಸುವ ಬಗ್ಗೆ ಲೇಖನಗಳಿಗೆ ಕಾರಣವಾಯಿತು, ಆದಾಗ್ಯೂ, ಈ ವಿಧಾನವು ಏಕ ಸಂಪರ್ಕ ಮೋಡ್‌ನಲ್ಲಿ ಮಾತ್ರ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ, ಅಂದರೆ ಬಹು VPN ಕ್ಲೈಂಟ್‌ಗಳು ಅಸಾಧ್ಯವೆಂದು ಅವರು ಗಮನಿಸಿದರು. VPS ನಲ್ಲಿ VPN ಸರ್ವರ್ ಅನ್ನು ಹೊಂದಿಸಲು ಮತ್ತು ಕ್ಲೈಂಟ್‌ಗಳಿಗಾಗಿ GRE ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ನಾನು ಆಲೋಚನೆಯೊಂದಿಗೆ ಬಂದಿದ್ದೇನೆ, ಆದರೆ ಅದು ಬದಲಾದಂತೆ, GRE ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಅನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ, ಇದು ಮೂರನೇ ವ್ಯಕ್ತಿಗಳು ಸರ್ವರ್‌ಗೆ ಪ್ರವೇಶವನ್ನು ಪಡೆದರೆ, ನನ್ನ ನೆಟ್‌ವರ್ಕ್‌ಗಳ ನಡುವಿನ ಎಲ್ಲಾ ಟ್ರಾಫಿಕ್ ಅವರ ಕೈಯಲ್ಲಿದೆ ಅದು ನನಗೆ ಸರಿಹೊಂದುವುದಿಲ್ಲ.

ಮತ್ತೊಮ್ಮೆ, ಈ ಕೆಳಗಿನ ಯೋಜನೆಯ ಪ್ರಕಾರ VPN ಮೂಲಕ VPN ಅನ್ನು ಬಳಸುವ ಮೂಲಕ ಅನಗತ್ಯ ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಪರವಾಗಿ ನಿರ್ಧಾರವನ್ನು ತೆಗೆದುಕೊಳ್ಳಲಾಗಿದೆ:

ಲೇಯರ್ XNUMX VPN:
VPS ಇದು ಸರ್ವರ್ ಆಂತರಿಕ ವಿಳಾಸದೊಂದಿಗೆ 192.168.30.1
MS ಇದು ಕ್ಲೈಂಟ್ ಆಂತರಿಕ ವಿಳಾಸದೊಂದಿಗೆ VPS 192.168.30.2
ಎಂಕೆ 2 ಇದು ಕ್ಲೈಂಟ್ ಆಂತರಿಕ ವಿಳಾಸದೊಂದಿಗೆ VPS 192.168.30.3
ಎಂಕೆ 3 ಇದು ಕ್ಲೈಂಟ್ ಆಂತರಿಕ ವಿಳಾಸದೊಂದಿಗೆ VPS 192.168.30.4

ಲೇಯರ್ XNUMX VPN:
MS ಇದು ಸರ್ವರ್ ಬಾಹ್ಯ ವಿಳಾಸ 192.168.30.2 ಮತ್ತು ಆಂತರಿಕ 192.168.31.1 ಜೊತೆಗೆ
ಎಂಕೆ 2 ಇದು ಕ್ಲೈಂಟ್ MS 192.168.30.2 ವಿಳಾಸದೊಂದಿಗೆ ಮತ್ತು 192.168.31.2 ರ ಆಂತರಿಕ IP ಅನ್ನು ಹೊಂದಿದೆ
ಎಂಕೆ 3 ಇದು ಕ್ಲೈಂಟ್ MS 192.168.30.2 ವಿಳಾಸದೊಂದಿಗೆ ಮತ್ತು 192.168.31.3 ರ ಆಂತರಿಕ IP ಅನ್ನು ಹೊಂದಿದೆ

* MS - ಅಪಾರ್ಟ್ಮೆಂಟ್ 1 ರಲ್ಲಿ ರೂಟರ್-ಸರ್ವರ್, ಎಂಕೆ 2 - ಅಪಾರ್ಟ್ಮೆಂಟ್ 2 ರಲ್ಲಿ ರೂಟರ್, ಎಂಕೆ 3 - ಅಪಾರ್ಟ್ಮೆಂಟ್ 3 ರಲ್ಲಿ ರೂಟರ್
* ಲೇಖನದ ಕೊನೆಯಲ್ಲಿ ಸ್ಪಾಯ್ಲರ್‌ನಲ್ಲಿ ಸಾಧನದ ಕಾನ್ಫಿಗರೇಶನ್‌ಗಳನ್ನು ಪ್ರಕಟಿಸಲಾಗಿದೆ.

ಮತ್ತು ಆದ್ದರಿಂದ, ನೆಟ್ವರ್ಕ್ 192.168.31.0/24 ನ ನೋಡ್ಗಳ ನಡುವಿನ ಪಿಂಗ್ಗಳು, GRE ಸುರಂಗವನ್ನು ಸ್ಥಾಪಿಸಲು ಇದು ಸಮಯ. ಅದಕ್ಕೂ ಮೊದಲು, ರೂಟರ್‌ಗಳಿಗೆ ಪ್ರವೇಶವನ್ನು ಕಳೆದುಕೊಳ್ಳದಿರಲು, ಪೋರ್ಟ್ 22 ಅನ್ನು VPS ಗೆ ಫಾರ್ವರ್ಡ್ ಮಾಡಲು SSH ಸುರಂಗಗಳನ್ನು ಹೊಂದಿಸುವುದು ಯೋಗ್ಯವಾಗಿದೆ, ಆದ್ದರಿಂದ, ಉದಾಹರಣೆಗೆ, ಅಪಾರ್ಟ್ಮೆಂಟ್ 10022 ರ ರೂಟರ್ VPS ನ ಪೋರ್ಟ್ 2 ನಲ್ಲಿ ಲಭ್ಯವಿರುತ್ತದೆ ಮತ್ತು a ಅಪಾರ್ಟ್ಮೆಂಟ್ 11122 ರಿಂದ ರೂಟರ್ VPS ನ ಪೋರ್ಟ್ 3 ನಲ್ಲಿ ಲಭ್ಯವಿರುತ್ತದೆ. ಅಪಾರ್ಟ್ಮೆಂಟ್ XNUMX ರಿಂದ ರೂಟರ್. ಫಾರ್ವರ್ಡ್ ಮಾಡುವಿಕೆಯನ್ನು ಅದೇ sshtunnel ನೊಂದಿಗೆ ಕಾನ್ಫಿಗರ್ ಮಾಡುವುದು ಉತ್ತಮ, ಏಕೆಂದರೆ ಅದು ಬಿದ್ದಾಗ ಸುರಂಗವನ್ನು ಪುನಃಸ್ಥಾಪಿಸುತ್ತದೆ.

ಸುರಂಗವನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗಿದೆ, ನೀವು ಫಾರ್ವರ್ಡ್ ಮಾಡಿದ ಪೋರ್ಟ್ ಮೂಲಕ SSH ಗೆ ಸಂಪರ್ಕಿಸಬಹುದು:

ssh root@МОЙ_VPS -p 10022

ಮುಂದೆ, OpenVPN ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ:

/etc/init.d/openvpn stop

ಈಗ ಅಪಾರ್ಟ್ಮೆಂಟ್ 2 ರಿಂದ ರೂಟರ್‌ನಲ್ಲಿ ಜಿಆರ್‌ಇ ಸುರಂಗವನ್ನು ಹೊಂದಿಸೋಣ:

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

ಈ ಕ್ಷಣದಿಂದ ಪ್ರಾರಂಭಿಸಿ, ಪಿಂಗ್ಗಳು ಯಶಸ್ವಿಯಾಗಿ ಹೊಸ ನೆಟ್ವರ್ಕ್ಗೆ ಹೋಗಲು ಪ್ರಾರಂಭಿಸುತ್ತವೆ ಮತ್ತು ನಾನು ತೃಪ್ತಿಯಿಂದ ಕಾಫಿ ಕುಡಿಯಲು ಹೋಗುತ್ತೇನೆ. ನಂತರ, ತಂತಿಯ ಇನ್ನೊಂದು ತುದಿಯಲ್ಲಿರುವ ನೆಟ್‌ವರ್ಕ್ ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ನೋಡಲು, ನಾನು ಅಪಾರ್ಟ್ಮೆಂಟ್ 2 ರಲ್ಲಿನ ಕಂಪ್ಯೂಟರ್‌ಗಳಲ್ಲಿ ಒಂದಕ್ಕೆ SSH ಮಾಡಲು ಪ್ರಯತ್ನಿಸುತ್ತೇನೆ, ಆದರೆ ಪಾಸ್‌ವರ್ಡ್‌ಗಾಗಿ ನನ್ನನ್ನು ಪ್ರೇರೇಪಿಸದೆ ssh ಕ್ಲೈಂಟ್ ಫ್ರೀಜ್ ಆಗುತ್ತದೆ. ನಾನು ಪೋರ್ಟ್ 22 ನಲ್ಲಿ ಟೆಲ್ನೆಟ್ ಮೂಲಕ ಈ ಕಂಪ್ಯೂಟರ್‌ಗೆ ಸಂಪರ್ಕಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತೇನೆ ಮತ್ತು ಸಂಪರ್ಕವನ್ನು ಸ್ಥಾಪಿಸಲಾಗುತ್ತಿದೆ ಎಂದು ನೀವು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬಹುದಾದ ಸಾಲನ್ನು ನೋಡಿ, SSH ಸರ್ವರ್ ಪ್ರತಿಕ್ರಿಯಿಸುತ್ತಿದೆ, ಆದರೆ ಕೆಲವು ಕಾರಣಗಳಿಂದ ಅದು ನನಗೆ ಪ್ರವೇಶಿಸಲು ಅವಕಾಶ ನೀಡುವುದಿಲ್ಲ.

$ telnet 192.168.10.110 22
SSH-2.0-OpenSSH_8.1

ನಾನು VNC ಮೂಲಕ ಅದನ್ನು ಸಂಪರ್ಕಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತಿದ್ದೇನೆ ಮತ್ತು ನಾನು ಕಪ್ಪು ಪರದೆಯನ್ನು ನೋಡುತ್ತೇನೆ. ಈ ವಿಷಯವು ರಿಮೋಟ್ ಕಂಪ್ಯೂಟರ್ನಲ್ಲಿದೆ ಎಂದು ನಾನು ಮನವರಿಕೆ ಮಾಡಿಕೊಳ್ಳುತ್ತೇನೆ, ಏಕೆಂದರೆ ಆಂತರಿಕ ವಿಳಾಸವನ್ನು ಬಳಸಿಕೊಂಡು ನಾನು ಈ ಅಪಾರ್ಟ್ಮೆಂಟ್ನಿಂದ ರೂಟರ್ಗೆ ಸುಲಭವಾಗಿ ಸಂಪರ್ಕಿಸಬಹುದು. ಆದಾಗ್ಯೂ, ನಾನು ರೂಟರ್ ಮೂಲಕ ಈ ಕಂಪ್ಯೂಟರ್‌ಗೆ SSH ಮಾಡಲು ನಿರ್ಧರಿಸುತ್ತೇನೆ ಮತ್ತು ಸಂಪರ್ಕವು ಯಶಸ್ವಿಯಾಗುತ್ತದೆ ಮತ್ತು ರಿಮೋಟ್ ಕಂಪ್ಯೂಟರ್ ಉತ್ತಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಆದರೆ ನನ್ನ ಕಂಪ್ಯೂಟರ್‌ಗೆ ಸಂಪರ್ಕಿಸಲು ವಿಫಲವಾಗಿದೆ ಎಂದು ಕಂಡು ಆಶ್ಚರ್ಯ ಪಡುತ್ತೇನೆ.

ನಾನು ಸೇತುವೆಯಿಂದ grelan0 ಸಾಧನವನ್ನು ತೆಗೆದುಕೊಂಡು ಅಪಾರ್ಟ್ಮೆಂಟ್ 2 ನಲ್ಲಿ ರೂಟರ್‌ನಲ್ಲಿ OpenVPN ಅನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತೇನೆ ಮತ್ತು ನೆಟ್‌ವರ್ಕ್ ಮತ್ತೆ ಸರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿದೆಯೇ ಮತ್ತು ಸಂಪರ್ಕಗಳು ಕಡಿಮೆಯಾಗುತ್ತಿಲ್ಲ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ. ಹುಡುಕುತ್ತಿರುವಾಗ ನಾನು ವೇದಿಕೆಗಳನ್ನು ನೋಡುತ್ತೇನೆ, ಅಲ್ಲಿ ಜನರು ಅದೇ ಸಮಸ್ಯೆಗಳ ಬಗ್ಗೆ ದೂರು ನೀಡುತ್ತಾರೆ, ಅಲ್ಲಿ ಅವರು MTU ಅನ್ನು ಹೆಚ್ಚಿಸಲು ಸಲಹೆ ನೀಡುತ್ತಾರೆ. ಬೇಗ ಹೇಳೋದು. ಆದಾಗ್ಯೂ, ಗ್ರೆಟಾಪ್ ಸಾಧನಗಳಿಗಾಗಿ MTU ಅನ್ನು 7000 ರ ದೊಡ್ಡ ಮೌಲ್ಯಕ್ಕೆ ಹೊಂದಿಸುವವರೆಗೆ, ಕೈಬಿಡಲಾದ TCP ಸಂಪರ್ಕಗಳು ಅಥವಾ ನಿಧಾನವಾದ ಪ್ರಸರಣಗಳನ್ನು ಗಮನಿಸಲಾಯಿತು. gretap ಗಾಗಿ ಹೆಚ್ಚಿನ MTU ಕಾರಣ, ಮೊದಲ ಮತ್ತು ಎರಡನೇ ಹಂತಗಳ ವೈರ್‌ಗಾರ್ಡ್ ಸಂಪರ್ಕಗಳಿಗಾಗಿ MTUಗಳನ್ನು ಕ್ರಮವಾಗಿ 8000 ಮತ್ತು 7500 ಗೆ ಹೊಂದಿಸಲಾಗಿದೆ.

ನಾನು ಅಪಾರ್ಟ್ಮೆಂಟ್ 3 ರಿಂದ ರೂಟರ್‌ನಲ್ಲಿ ಇದೇ ರೀತಿಯ ಸೆಟಪ್ ಅನ್ನು ಮಾಡಿದ್ದೇನೆ, ಒಂದೇ ವ್ಯತ್ಯಾಸವೆಂದರೆ grelan1 ಎಂಬ ಹೆಸರಿನ ಎರಡನೇ ಗ್ರೆಟಾಪ್ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಸರ್ವರ್ ರೂಟರ್‌ಗೆ ಸೇರಿಸಲಾಗಿದೆ, ಅದನ್ನು ಬ್ರ-ಲ್ಯಾನ್ ಸೇತುವೆಗೆ ಸೇರಿಸಲಾಗಿದೆ.

ಎಲ್ಲವೂ ಕೆಲಸ ಮಾಡುತ್ತಿದೆ. ಈಗ ನೀವು 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

ಸಂಕ್ಷಿಪ್ತವಾಗಿ

ನಾನು ಇನ್ನೂ ಓಪನ್‌ವಿಪಿಎನ್‌ನ ಸಂಪೂರ್ಣ ನಿರಾಕರಣೆಯನ್ನು ಸಾಧಿಸಿಲ್ಲ, ಏಕೆಂದರೆ ನಾನು ಕೆಲವೊಮ್ಮೆ ಲ್ಯಾಪ್‌ಟಾಪ್ ಅಥವಾ ಫೋನ್‌ನಿಂದ ಹೊಸ ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಸಂಪರ್ಕಿಸಬೇಕಾಗಿರುವುದರಿಂದ ಮತ್ತು ಅವುಗಳಲ್ಲಿ ಗ್ರೆಟಾಪ್ ಸಾಧನವನ್ನು ಹೊಂದಿಸುವುದು ಸಾಮಾನ್ಯವಾಗಿ ಅಸಾಧ್ಯ, ಆದರೆ ಇದರ ಹೊರತಾಗಿಯೂ, ಡೇಟಾ ವರ್ಗಾವಣೆಯಲ್ಲಿ ನಾನು ಪ್ರಯೋಜನವನ್ನು ಪಡೆದುಕೊಂಡಿದ್ದೇನೆ. ಅಪಾರ್ಟ್ಮೆಂಟ್ಗಳ ನಡುವಿನ ವೇಗ ಮತ್ತು, ಉದಾಹರಣೆಗೆ, VNC ಅನ್ನು ಬಳಸುವುದು ಇನ್ನು ಮುಂದೆ ಅನಾನುಕೂಲವಾಗಿರುವುದಿಲ್ಲ. ಪಿಂಗ್ ಸ್ವಲ್ಪ ಕಡಿಮೆಯಾಯಿತು, ಆದರೆ ಹೆಚ್ಚು ಸ್ಥಿರವಾಯಿತು:

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 ಗೆ ಹೆಚ್ಚಿನ ಪಿಂಗ್‌ನಿಂದ ಪ್ರಭಾವಿತವಾಗಿರುತ್ತದೆ ಅದು ಸರಿಸುಮಾರು 61.5ms ಆಗಿದೆ

ಆದಾಗ್ಯೂ, ವೇಗವು ಗಮನಾರ್ಹವಾಗಿ ಹೆಚ್ಚಾಗಿದೆ. ಆದ್ದರಿಂದ, ರೂಟರ್-ಸರ್ವರ್ನೊಂದಿಗೆ ಅಪಾರ್ಟ್ಮೆಂಟ್ನಲ್ಲಿ, ನಾನು 30 Mbps ನ ಇಂಟರ್ನೆಟ್ ಸಂಪರ್ಕದ ವೇಗವನ್ನು ಹೊಂದಿದ್ದೇನೆ ಮತ್ತು ಇತರ ಅಪಾರ್ಟ್ಮೆಂಟ್ಗಳಲ್ಲಿ, 5 Mbps. ಅದೇ ಸಮಯದಲ್ಲಿ, OpenVPN ಅನ್ನು ಬಳಸುವಾಗ, iperf ಪ್ರಕಾರ 3,8 Mbps ಗಿಂತ ಹೆಚ್ಚಿನ ನೆಟ್‌ವರ್ಕ್‌ಗಳ ನಡುವೆ ಡೇಟಾ ವರ್ಗಾವಣೆ ದರವನ್ನು ಸಾಧಿಸಲು ನನಗೆ ಸಾಧ್ಯವಾಗಲಿಲ್ಲ, ಆದರೆ WireGuard ಅದನ್ನು ಅದೇ 5 Mbps ವರೆಗೆ "ಪಂಪ್" ಮಾಡಿದೆ.

VPS ನಲ್ಲಿ ವೈರ್‌ಗಾರ್ಡ್ ಕಾನ್ಫಿಗರೇಶನ್[Interface] Address = 192.168.30.1/24
ListenPort = 51820
PrivateKey = <ЗАКРЫТЫЙ_КЛЮЧ_ДЛЯ_VPS>

[Peer] PublicKey = <ОТКРЫТЫЙ_КЛЮЧ_VPN_1_МС>
AllowedIPs = 192.168.30.2/32

[Peer] PublicKey = <ОТКРЫТЫЙ_КЛЮЧ_VPN_2_МК2>
AllowedIPs = 192.168.30.3/32

[Peer] PublicKey = <ОТКРЫТЫЙ_КЛЮЧ_VPN_2_МК3>
AllowedIPs = 192.168.30.4/32

MS ನಲ್ಲಿ WireGuard ಕಾನ್ಫಿಗರೇಶನ್ (/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'

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'

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 ಗಾಗಿ ವಿವರಿಸಿದ ಕಾನ್ಫಿಗರೇಶನ್‌ಗಳಲ್ಲಿ, ನಾನು ವೈರ್‌ಗಾರ್ಡ್ ಕ್ಲೈಂಟ್‌ಗಳಿಗೆ ಪೋರ್ಟ್ 51821 ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತೇನೆ. ಸಿದ್ಧಾಂತದಲ್ಲಿ, ಇದು ಅಗತ್ಯವಿಲ್ಲ, ಏಕೆಂದರೆ ಕ್ಲೈಂಟ್ ಯಾವುದೇ ಉಚಿತ ಸವಲತ್ತು ಇಲ್ಲದ ಪೋರ್ಟ್‌ನಿಂದ ಸಂಪರ್ಕವನ್ನು ಸ್ಥಾಪಿಸುತ್ತದೆ, ಆದರೆ ನಾನು ಅದನ್ನು ಮಾಡಿದ್ದೇನೆ ಆದ್ದರಿಂದ ಎಲ್ಲಾ ಒಳಬರುವ ಸಂಪರ್ಕಗಳು ಪೋರ್ಟ್ 0 ನಲ್ಲಿ ಒಳಬರುವ UDP ಸಂಪರ್ಕಗಳನ್ನು ಹೊರತುಪಡಿಸಿ, ಎಲ್ಲಾ ರೂಟರ್‌ಗಳ wg51821 ಇಂಟರ್‌ಫೇಸ್‌ಗಳಲ್ಲಿ ನಿರಾಕರಿಸಬಹುದು.

ಲೇಖನವು ಯಾರಿಗಾದರೂ ಉಪಯುಕ್ತವಾಗಿದೆ ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ.

ಪಿಎಸ್ ಅಲ್ಲದೆ, ನನ್ನ ನೆಟ್‌ವರ್ಕ್‌ನಲ್ಲಿ ಹೊಸ ಸಾಧನ ಕಾಣಿಸಿಕೊಂಡಾಗ WirePusher ಅಪ್ಲಿಕೇಶನ್‌ನಲ್ಲಿ ನನ್ನ ಫೋನ್‌ಗೆ ಪುಶ್ ಅಧಿಸೂಚನೆಯನ್ನು ಕಳುಹಿಸುವ ನನ್ನ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ನಾನು ಬಯಸುತ್ತೇನೆ. ಸ್ಕ್ರಿಪ್ಟ್‌ಗೆ ಲಿಂಕ್ ಇಲ್ಲಿದೆ: github.com/r0ck3r/device_discover.

ಅಪ್ಡೇಟ್: 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-lzo

OpenVPN ಕ್ಲೈಂಟ್

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

ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು ರಚಿಸಲು ನಾನು ಸುಲಭ-ಆರ್ಎಸ್ಎ ಬಳಸಿದ್ದೇನೆ.

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ