Proxmox ನಲ್ಲಿ LXC ಅಥವಾ VM ನಲ್ಲಿ WireGuard: ಅದು ಎಲ್ಲಿ ಓಡಬೇಕು?
WireGuard Proxmox ಆತಿಥೇಯದಲ್ಲಿ, ಕಂಟೇನರ್ನಲ್ಲಿ ಅಥವಾ VM ನಲ್ಲಿ ಓಡಬಹುದು. ನಿರ್ಣಾಯಕ ಅಂಶಗಳೆಂದರೆ ಕರ್ನಲ್ ಮಾಲೀಕತ್ವ, ಇಂಟರ್ಫೇಸ್ ನಿಯಂತ್ರಣ ಮತ್ತು ಮರುಪ್ರಾಪ್ತಿ.
WireGuard ತನ್ನ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಹೊಂದಿರುವ ನಿಖರವಾಗಿ ಒಂದು ಕರ್ನಲ್ ಅನ್ನು ಬೇಕಾಗುತ್ತದೆ, ಮತ್ತು ಈ ಸತ್ಯವು ಕಾರ್ಯಕ್ಷಮತೆ ಕೋಣೆಗೆ ಪ್ರವೇಶಿಸುವ ಮೊದಲೇ Proxmox ನಿಯೋಜನೆಯ ಬಹುಪಾಲು ಚರ್ಚೆಯನ್ನು ಪರಿಹರಿಸುತ್ತದೆ. LXC ಕಂಟೇನರ್ ಆತಿಥೇಯ ಕರ್ನಲ್ನ ನೇಮ್ಸ್ಪೇಸ್ ನೋಟವಾಗಿದೆ, ಆದರೆ VM ತನ್ನದೇ ಕರ್ನಲ್ ಅನ್ನು ಬೂಟ್ ಮಾಡುತ್ತದೆ. ಹಾಗಾಗಿ ಉಪಯುಕ್ತ ಪ್ರಶ್ನೆ ಯಾವ ಆಯ್ಕೆ ಹಗುರ ಎಂಬುದಲ್ಲ, ಬದಲಿಗೆ ನೀವು ಯಾವ ಕರ್ನಲ್ ಅನ್ನು ಬದಲಿಸಲು ಸಿದ್ಧರಿದ್ದೀರಿ ಮತ್ತು ಯಾವ ಮರುಪ್ರಾಪ್ತಿ ಮಾರ್ಗದೊಂದಿಗೆ ಬದುಕಬಹುದು ಎಂಬುದು. ಅದಕ್ಕೆ ಉತ್ತರಿಸಿ, ಆತಿಥೇಯ, ಕಂಟೇನರ್ ಅಥವಾ VM ಆಯ್ಕೆ ಸಾಮಾನ್ಯವಾಗಿ ತಾನಾಗಿಯೇ ಆಗುತ್ತದೆ.
LXC ಅತಿಥಿ ಆತಿಥೇಯ ಕರ್ನಲ್ ಒಳಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ
ಕಂಟೇನರ್ ಒಳಗೆ wireguard-tools ಸ್ಥಾಪಿಸಿದರೆ ನಿಯಂತ್ರಣ ಕಾರ್ಯಕ್ರಮ ಸಿಗುತ್ತದೆ, ಖಾಸಗಿ ಕರ್ನಲ್ ಅಲ್ಲ. ನೀವು ರಚಿಸುವ wg0 ಇಂಟರ್ಫೇಸ್ ಆತಿಥೇಯದ ನೆಟ್ವರ್ಕ್ ಸ್ಟಾಕ್ನಲ್ಲಿ ನೋಂದಾಯಿಸಲ್ಪಡುತ್ತದೆ ಮತ್ತು ಆತಿಥೇಯದ ಮಾಡ್ಯೂಲ್ ಪಟ್ಟಿಯಲ್ಲಿ ಕಾಣಿಸುತ್ತದೆ. ಆದ್ದರಿಂದ ಕಂಟೇನರ್ ಎಲ್ಲಾ ಪ್ಯಾಕೇಜ್ ಪರಿಶೀಲನೆಗಳನ್ನು ಪಾಸ್ ಮಾಡಿ, ಆತಿಥೇಯ ಕರ್ನಲ್ನಲ್ಲಿ ಮಾಡ್ಯೂಲ್ ಇಲ್ಲದಿದ್ದಾಗ ಮೊದಲ wg ಆದೇಶದಲ್ಲಿ ವಿಫಲವಾಗಬಹುದು. ಮತ್ತು Proxmox ಕಂಟೇನರ್ ಉಲ್ಲೇಖ ಆ ಹಂಚಿಕೆಯ ಕರ್ನಲ್ ಮಾದರಿಯನ್ನು ದಾಖಲಿಸುತ್ತದೆ, ಜೊತೆಗೆ ನೀವು ಕೆಲಸ ಮಾಡುವ ನೇಮ್ಸ್ಪೇಸ್ ಮತ್ತು ವಿಶೇಷಾಧಿಕಾರ ಮಿತಿಗಳನ್ನು.
ಅಧಿಕಾರವು ಎರಡನೇ ನಿರ್ಬಂಧ. ಇಂಟರ್ಫೇಸ್ ಮೇಲೆತ್ತಿ ಅದಕ್ಕೆ ವಿಳಾಸಗಳನ್ನು ಜೋಡಿಸಲು ಅದನ್ನು ಹೊಂದಿರುವ ನೇಮ್ಸ್ಪೇಸ್ ಒಳಗಿನ ನೆಟ್ವರ್ಕ್ ಆಡಳಿತ ಹಕ್ಕುಗಳು ಬೇಕು, ಮತ್ತು ವಿಶೇಷಾಧಿಕಾರವಿಲ್ಲದ ಕಂಟೇನರ್ ಆ ಹಕ್ಕುಗಳನ್ನು ನೇರವಾಗಿ ಹೊಂದದೆ ತನ್ನ ಬಳಕೆದಾರ ನೇಮ್ಸ್ಪೇಸ್ ಮೂಲಕ ಮ್ಯಾಪ್ ಮಾಡುತ್ತದೆ. ಮೊದಲ ಉತ್ತರವಾಗಿ ಎಂದಿಗೂ ಪೂರ್ಣ ವಿಶೇಷಾಧಿಕಾರಕ್ಕೆ ಕೈ ಹಾಕಬೇಡಿ; ಕಂಟೇನರ್ನಿಂದ ನಿಜವಾಗಿ ಏನು ಕೇಳಲಾಗುತ್ತಿದೆ ಎಂದು ನೋಡಿ, ನಂತರ ಅದನ್ನು ನೀಡಿ.
ಆತಿಥೇಯ ಕರ್ನಲ್ ಕೂಡ ಹಂಚಿಕೆಯ ಅವಲಂಬನೆ. Proxmox ಕರ್ನಲ್ ನವೀಕರಣವು ಪ್ರತಿ ಕಂಟೇನರ್ ಅಡಿಯಲ್ಲಿ WireGuard ಅನುಷ್ಠಾನವನ್ನು ಒಟ್ಟಿಗೆ ಬದಲಾಯಿಸುತ್ತದೆ, ಇದು ನವೀಕರಣ ಮತ್ತು ಕಂಟೇನರ್ನ ನಿರೀಕ್ಷೆಗಳು ಒಂದಕ್ಕೊಂದು ಒಪ್ಪದಿರುವವರೆಗೆ ಅನುಕೂಲಕರ.
ಆತಿಥೇಯ, ಕಂಟೇನರ್, VM: ಪ್ರತಿ ನಿಯೋಜನೆ ನಿಜವಾಗಿ ಏನನ್ನು ಹೊಂದಿದೆ
ಆತಿಥೇಯದಲ್ಲಿ ನಿಯೋಜನೆ VPN ಅನ್ನು ಹೈಪರ್ವೈಸರ್ನ ಸ್ವಂತ ನೆಟ್ವರ್ಕ್ನಲ್ಲಿ ಇಡುತ್ತದೆ. ಮಾರ್ಗಗಳು, ಫೈರ್ವಾಲ್ ನಿಯಮಗಳು ಮತ್ತು ಸುರಂಗವು ಆತಿಥೇಯ ಮರುಪ್ರಾಪ್ತಿಯ ಭಾಗವಾಗುತ್ತವೆ, ಮತ್ತು ಅಲ್ಲಿನ ತಪ್ಪು ನಿರ್ವಹಣಾ ಇಂಟರ್ಫೇಸ್ ಅನ್ನೂ ಒಯ್ಯಬಹುದು. ಕನ್ಸೋಲ್ ಮೂಲಕ ತಲುಪಬಹುದಾದ ಆತಿಥೇಯದಲ್ಲಿ ಮೂಲಸೌಕರ್ಯ ಮಾರ್ಗನಿರ್ದೇಶನಕ್ಕೆ ಇದು ಸ್ವೀಕಾರಾರ್ಹ, ಮತ್ತು ಬ್ಯಾಂಡ್ನ ಹೊರಗಿನ ಪ್ರವೇಶವಿಲ್ಲದ ದೂರದ ಯಂತ್ರದಲ್ಲಿ ನೋವಿನ.
ಕಂಟೇನರ್ ಸೇವೆಯನ್ನು ಪ್ಯಾಕೇಜ್ ಮಾಡಿ ಮರುಪ್ರಾರಂಭಿಸಬಹುದಾದಂತೆ ಇಡುತ್ತದೆ, ಆದರೂ ಆತಿಥೇಯ ಕರ್ನಲ್ ಅನ್ನು ಎರವಲು ಪಡೆಯುತ್ತದೆ. ಇದು ಉದ್ದೇಶಪೂರ್ವಕ ಹಂಚಿಕೆ-ಕರ್ನಲ್ ಸೇವೆಗೆ ಸರಿಹೊಂದುತ್ತದೆ ಮತ್ತು ಮರುನಿರ್ಮಾಣಕ್ಕೆ ಸಣ್ಣ ಘಟಕವನ್ನು ನೀಡುತ್ತದೆ. ಇದು ಸ್ವತಂತ್ರ ಕರ್ನಲ್ ನೀಡುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ ನಿರ್ದಿಷ್ಟ ಮಾಡ್ಯೂಲ್ ನಿರ್ಮಾಣ ಬೇಕಾದ ಯಾವುದೇ ವಿಷಯ ಈ ಆಯ್ಕೆಯಿಂದ ದೂರ ತೋರಿಸುತ್ತದೆ.
| Placement | Kernel owner | Typical failure mode |
|---|---|---|
| Proxmox host | Hypervisor | A routing change breaks host management access |
| LXC container | Host kernel, container namespace | Missing capability or missing module at wg0 creation |
| Virtual machine | Guest kernel | Extra maintenance and a second patch cycle |
VM ಹೆಚ್ಚು ಮೆಮೊರಿ ಮತ್ತು ಪ್ಯಾಚ್ ಮಾಡಲು ಇನ್ನೊಂದು ವ್ಯವಸ್ಥೆಗೆ ತಗಲುತ್ತದೆ, ಪ್ರತಿಯಾಗಿ ಸುರಂಗ ತನ್ನದೇ ಕರ್ನಲ್, ತನ್ನದೇ ಮಾರ್ಗನಿರ್ದೇಶನ ಕೋಷ್ಟಕ ಮತ್ತು ಸ್ನ್ಯಾಪ್ಶಾಟ್ ಗಡಿಯನ್ನು ಪಡೆಯುತ್ತದೆ. ಕೆಟ್ಟ ಬದಲಾವಣೆಯ ನಂತರ VPN ಅನ್ನು ನೀವು ಹಿಂದಕ್ಕೆ ಸುತ್ತುವಾಗ, ಆ ಸ್ನ್ಯಾಪ್ಶಾಟ್ ಹೆಚ್ಚುವರಿ ಹೊರೆಯ ಯೋಗ್ಯ.
ನಿಮ್ಮ ಬದಲಿಗೆ ಆಯ್ಕೆ ಮಾಡುವ ಮೂರು ಷರತ್ತುಗಳು
ಸುರಂಗಕ್ಕೆ Proxmox ಆತಿಥೇಯ ಒದಗಿಸದ ಕರ್ನಲ್ ಆವೃತ್ತಿ ಅಥವಾ WireGuard ವೈಶಿಷ್ಟ್ಯ ಬೇಕಾದರೆ, ಇಲ್ಲೇ ನಿಲ್ಲಿಸಿ VM ಬಳಸಿ. ಕಂಟೇನರ್ಗೆ ಹೊಸ ಕರ್ನಲ್ ಅನ್ನು ಸ್ಥಾಪಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ, ಮತ್ತು ಒಬ್ಬ ಅತಿಥಿಯನ್ನು ತೃಪ್ತಿಪಡಿಸಲು ಹೈಪರ್ವೈಸರ್ ಕರ್ನಲ್ ಅನ್ನು ಬದಲಿಸಬಾರದು.
ಸುರಂಗವು ನಿಜವಾದ LAN ಪ್ರಿಫಿಕ್ಸ್ಗಳಿಗೆ ಸೈಟ್ನ ಗೇಟ್ವೇ ಆಗಿದ್ದರೆ, ಹಿಂತಿರುಗುವ ಮಾರ್ಗ ಈಗಾಗಲೇ ಯಾರಿಗೆ ಸೇರಿದೆ ಎಂದು ಕೇಳಿ. ಕಂಟೇನರ್ ಸಂಚಾರವನ್ನು ಮಾರ್ಗನಿರ್ದೇಶಿಸಬಲ್ಲದು, ಆದರೆ ಅದರ ಇಂಟರ್ಫೇಸ್ಗಳು ಆತಿಥೇಯದ ಸ್ಟಾಕ್ನಲ್ಲಿ ಕುಳಿತಿವೆ, ಆದ್ದರಿಂದ ಆತಿಥೇಯನು ಸಂರಚನೆಯ ಒಂದು ಭಾಗವನ್ನು ಹೊರುತ್ತಾನೆ, ನೀವು ಯೋಜಿಸಿದ್ದೀರೋ ಇಲ್ಲವೋ. ಆತಿಥೇಯದಲ್ಲಿ ನಿಯೋಜನೆ ಈ ವಿಷಯದಲ್ಲಿ ಪ್ರಾಮಾಣಿಕ; ಕಂಟೇನರ್ನಲ್ಲಿ ನಿಯೋಜನೆ ಹಲವು ಬಾರಿ ಅಲ್ಲ.
ನಂತರ ತಪ್ಪಿನ ಪ್ರಭಾವದ ತ್ರಿಜ್ಯವನ್ನು ತೂಗಿ. ಕಂಟೇನರ್ ಮರುಪ್ರಾರಂಭಿಸುವುದು ಅಗ್ಗ, VM ಸ್ನ್ಯಾಪ್ಶಾಟ್ ಮರುಸ್ಥಾಪಿಸುವುದು ಊಹಿಸಬಹುದಾದ್ದು, ಮತ್ತು ಆತಿಥೇಯ ನೆಟ್ವರ್ಕಿಂಗ್ ಸರಿಪಡಿಸಲು ಭೌತಿಕ ಅಥವಾ ಕನ್ಸೋಲ್ ಪ್ರವೇಶ ಬೇಕಾಗಬಹುದು. ಸರಿಯಾದ ಆಯ್ಕೆ ಎಂದರೆ ಅದರ ಕೆಟ್ಟ ಸಂದರ್ಭವನ್ನು ಅದು ಸಂಭವಿಸಿದ ಗಂಟೆಯಲ್ಲೇ ನೀವು ನಿಜವಾಗಿ ಮರುಪ್ರಾಪ್ತಿ ಮಾಡಬಹುದಾದದ್ದು.
ನಾಲ್ಕನೇ ಪ್ರಶ್ನೆ ಅಪರೂಪವಾಗಿ ನಿರ್ಣಾಯಕ, ಆದರೆ ಹೇಳಲು ಯೋಗ್ಯ: ಆತಿಥೇಯದಲ್ಲಿ ಬೇರೆ ಯಾವುದಾದರೂ ಸುರಂಗ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ನೋಡಬೇಕೇ? ಹೌದಾದರೆ, ಆತಿಥೇಯದಲ್ಲಿ ಅಥವಾ ಕಂಟೇನರ್ನಲ್ಲಿ ನಿಯೋಜನೆ ಆ ದೃಶ್ಯತೆಯನ್ನು ಸ್ಥಳೀಯವಾಗಿ ಇಡುತ್ತದೆ, ಆದರೆ VM ನೀವು ಅತಿಥಿ ಮತ್ತು ಆತಿಥೇಯ ನಡುವೆ ಮಾರ್ಗನಿರ್ದೇಶಿಸುವಂತೆ ಒತ್ತಾಯಿಸುತ್ತದೆ.
ಸಂಚಾರವನ್ನು ಅದರ ಮೂಲಕ ಕಳುಹಿಸುವ ಮೊದಲು ನಿಯೋಜನೆಯನ್ನು ಸಾಬೀತುಪಡಿಸಿ
ಸ್ಥಾಪನೆಯ ನಂತರ, ಇಂಟರ್ಫೇಸ್ಗೆ ನಿಜವಾಗಿ ಯಾವ ಕರ್ನಲ್ ಸೇವೆ ಸಲ್ಲಿಸುತ್ತಿದೆ ಮತ್ತು ಅದನ್ನು ಉಳಿಸಿಕೊಳ್ಳಲು ಕಂಟೇನರ್ಗೆ ಸಾಕಷ್ಟು ಅಧಿಕಾರ ನೀಡಲಾಗಿದೆಯೇ ಎಂದು ದೃಢೀಕರಿಸಿ:
$ pct config 101 | grep -E 'unprivileged|features'
unprivileged: 1
$ pct exec 101 -- wg show
interface: wg0
listening port: 51820
$ pct exec 101 -- ip -4 addr show wg0
inet 10.60.0.2/24 scope global wg0
ನಂತರ ಆತಿಥೇಯದಿಂದ ಫಾರ್ವರ್ಡಿಂಗ್ ಬದಿಯನ್ನು ಪರಿಶೀಲಿಸಿ, ಏಕೆಂದರೆ ಕೈಹಿಡಿತವೊಂದೇ ಸುರಂಗ ಮೇಲಿದೆ ಎಂದು ಮಾತ್ರ ಸಾಬೀತುಪಡಿಸುತ್ತದೆ. ಕ್ಲೈಂಟ್ ವಿಳಾಸಕ್ಕಾಗಿ ip route get ಬಳಸಿ ಮತ್ತು ಮುಂದಿನ ಹಾರಿಕೆ ಹಾಗೂ ಇಂಟರ್ಫೇಸ್ ವಿನ್ಯಾಸಕ್ಕೆ ಹೊಂದುತ್ತವೆ, ಮತ್ತು ದೂರದ ಬದಿಯಲ್ಲಿ ಹಿಂತಿರುಗುವ ಮಾರ್ಗ ಇದೆ ಎಂದು ದೃಢೀಕರಿಸಿ.
ನಿಯೋಜನೆಯನ್ನು ಲಿಖಿತ ಮಾಲೀಕರೊಂದಿಗೆ ಬಿಡಿ: ಯಾವ ಕರ್ನಲ್ ಅನುಷ್ಠಾನವನ್ನು ಹೊರುತ್ತದೆ, ಯಾವ ನೇಮ್ಸ್ಪೇಸ್ ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಹೊಂದಿದೆ, ಮತ್ತು ಗೇಟ್ವೇ ಯಾವ ಪ್ರಿಫಿಕ್ಸ್ಗಳನ್ನು ಫಾರ್ವರ್ಡ್ ಮಾಡಬಹುದು. ಆ ಒಂದು ವಾಕ್ಯವು ಮೂರು ನಿಯೋಜನೆಗಳ ಯಾವುದೇ ಬೆಂಚ್ಮಾರ್ಕ್ ಹೋಲಿಕೆಗಿಂತ ಹೆಚ್ಚು ಘಟನೆಗಳನ್ನು ತಡೆಯುತ್ತದೆ.