WireGuard ತನ್ನ ಇಂಟರ್ಫೇಸ್ ರಚಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ: ಕರ್ನಲ್ ಅಥವಾ ಅನುಮತಿ?
ಯಾವುದೇ ಪೀರ್ ಹ್ಯಾಂಡ್ಶೇಕ್ಗಿಂತ ಮೊದಲೇ ಇಂಟರ್ಫೇಸ್ ರಚನೆ ವಿಫಲವಾಗುತ್ತದೆ. ಕಾಣೆಯಾದ ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಅನುಮತಿ ಮಿತಿ ಅಥವಾ ಇರುವ ಇಂಟರ್ಫೇಸ್ ಮಾಲೀಕರಿಂದ ಬೇರ್ಪಡಿಸಲು ದೋಷವನ್ನು ಓದಿ.
WireGuard ತನ್ನ ಇಂಟರ್ಫೇಸ್ ರಚಿಸಲು ವಿಫಲವಾಗುತ್ತದೆ, ಆದ್ದರಿಂದ ಸಂರಚಿಸಲು ಸಾಧನವಿಲ್ಲ, ವಿನಿಮಯಿಸಲು ಕೀಲಿಯಿಲ್ಲ ಮತ್ತು ಡೀಬಗ್ ಮಾಡಲು ಹ್ಯಾಂಡ್ಶೇಕ್ ಇಲ್ಲ. ವೈಫಲ್ಯ ಸಂಪೂರ್ಣವಾಗಿ ಸ್ಥಳೀಯ ಯಂತ್ರದಲ್ಲಿಯೇ ಉಳಿಯುತ್ತದೆ, ಮತ್ತು ದೋಷದ ಪಠ್ಯವು ಸ್ಥಳೀಯ ಸ್ಟ್ಯಾಕ್ನ ಯಾವ ಭಾಗವು ನಿರಾಕರಿಸಿತು ಎಂದು ಹೇಳುತ್ತದೆ. ಅದನ್ನು ಸರಿಯಾಗಿ ಓದುವುದು ಪೀರ್ನ ಸಂರಚನೆಯನ್ನು ಮರುಸ್ಥಾಪಿಸುವುದಕ್ಕಿಂತ ವೇಗವಾಗಿದೆ. ಪದರಗಳನ್ನು ಬೇರ್ಪಡಿಸಬಹುದು, ಮತ್ತು ಸಂದೇಶವು ನಿರಾಕರಿಸಿದ ಪದರವನ್ನು ಹೆಸರಿಸುತ್ತದೆ.
ಯಾವುದೇ ಪೀರ್ ಮಾತನಾಡುವ ಮೊದಲೇ ದೋಷ ಸಂಭವಿಸುತ್ತದೆ
ಇಂಟರ್ಫೇಸ್ ರಚಿಸುವುದು ಎಂದರೆ ಕರ್ನಲ್ಗೆ wireguard ಪ್ರಕಾರದ ಸಾಧನಕ್ಕಾಗಿ ಒಂದು netlink ವಿನಂತಿ. ಕರ್ನಲ್ನಲ್ಲಿ ಆ ಪ್ರಕಾರವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವ ಡ್ರೈವರ್ ಇರುತ್ತದೆ ಅಥವಾ ಇರುವುದಿಲ್ಲ, ಮತ್ತು ಉತ್ತರ ತಕ್ಷಣ ಹಿಂತಿರುಗುತ್ತದೆ. ಈ ಹಂತದಲ್ಲಿ ಯಾವುದೇ ಪ್ಯಾಕೆಟ್ ಯಂತ್ರದಿಂದ ಹೊರಹೋಗುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ ಎಂಡ್ಪಾಯಿಂಟ್ ವಿಳಾಸಗಳು ಮತ್ತು ಸರ್ವರ್ ಕೀಲಿಗಳು ಕಾರಣವಾಗಿರಲು ಸಾಧ್ಯವಿಲ್ಲ.
ಈ ಕ್ರಮ ನಿಧಾನೀಕರಣಕ್ಕೆ ಮುಖ್ಯ. ಆಜ್ಞೆಯು ಎಂದಿಗೂ ಸಾಧನವನ್ನು ರಚಿಸದಿದ್ದರೆ, ಸಮಸ್ಯೆ ತಪ್ಪಾದ ಸಾರ್ವಜನಿಕ ಕೀಲಿ ಅಥವಾ ನಿರ್ಬಂಧಿತ UDP ಪೋರ್ಟ್ ಆಗಿರಲು ಸಾಧ್ಯವಿಲ್ಲ. ಮೊದಲು ಸ್ಥಳೀಯ ರಚನಾ ಮಾರ್ಗವನ್ನು ಸರಿಪಡಿಸಿ, ನಂತರವೇ ಹೊರಗೆ ನೋಡಿ.
ಯಾವ ಅನುಷ್ಠಾನವು ಸಾಧನದ ಮಾಲೀಕತ್ವ ಹೊಂದಿರಬೇಕು
ಆ ವಿನಂತಿಗೆ ಎರಡು ಅನುಷ್ಠಾನಗಳು ಉತ್ತರಿಸಬಹುದು. ಕರ್ನಲ್ನೊಳಗಿನ ಮಾಡ್ಯೂಲ್ wireguard ಸಾಧನ ಪ್ರಕಾರವನ್ನು ನೋಂದಿಸುತ್ತದೆ, ಮತ್ತು wireguard-go ನಂತಹ ಬಳಕೆದಾರ ಸ್ಥಳ ಅನುಷ್ಠಾನವು ಬೇರೆ ಕಾರ್ಯವಿಧಾನದ ಮೂಲಕ ಅದೇ ಇಂಟರ್ಫೇಸ್ ಒದಗಿಸುತ್ತದೆ. ಮಾಡ್ಯೂಲ್ ಇಲ್ಲದಿದ್ದರೆ, ಕರ್ನಲ್ ಬೆಂಬಲಿಸದ ಸಾಧನದ ದೋಷದೊಂದಿಗೆ ವಿನಂತಿಯನ್ನು ತಿರಸ್ಕರಿಸುತ್ತದೆ, ಮತ್ತು ಪರಿಹಾರವೆಂದರೆ ಮಾಡ್ಯೂಲ್ ಲೋಡ್ ಮಾಡುವುದು ಅಥವಾ ಉಪಕರಣಗಳನ್ನು ಬಳಕೆದಾರ ಸ್ಥಳ ಅನುಷ್ಠಾನದ ಕಡೆಗೆ ತಿರುಗಿಸುವುದು.
ಎರಡರ ನಡುವೆ ಆಯ್ಕೆ ಮಾಡುವ ಮೊದಲು ನಿಜವಾಗಿ ಏನಿದೆ ಎಂದು ಪರಿಶೀಲಿಸಿ. ಮೊದಲ ಆಜ್ಞೆ ಮಾಡ್ಯೂಲ್ ಲೋಡ್ ಆಗಿದೆಯೇ ಎಂದು ತೋರಿಸುತ್ತದೆ ಮತ್ತು ಎರಡನೆಯದು ಕರ್ನಲ್ಗೆ ನೇರವಾಗಿ ಕೇಳುತ್ತದೆ:
lsmod | grep wireguard
ip link add wgtest0 type wireguard
ಎರಡನೇ ಆಜ್ಞೆ ಸಾಧ್ಯವಾದ ಅತಿ ಚಿಕ್ಕ ಮರುಉತ್ಪಾದನೆ: ಅದು ಸಾಧನವನ್ನು ಕೇಳುತ್ತದೆ ಮತ್ತು ಬೇರೆ ಏನನ್ನೂ ಅಲ್ಲ. ಅದು ಬೆಂಬಲಿಸದ ಪ್ರಕಾರದ ಸಂದೇಶದೊಂದಿಗೆ ವಿಫಲವಾದರೆ, ಕಾಣೆಯಾದ ಭಾಗ ಅನುಷ್ಠಾನ, ನಿಮ್ಮ ಸಂರಚನಾ ಕಡತವಲ್ಲ.
| Error text | What refused | Next step |
|---|---|---|
| Unknown device type or operation not supported | The kernel has no wireguard driver | Load the module or use the userspace implementation |
| Operation not permitted | Missing privilege | Use the service context or grant the capability |
| File exists | The name is already in use | Inspect the owner before touching it |
| No such device in a container | No tunnel device or capability | Add the device and NET_ADMIN to the container |
ಅನುಮತಿಗಳು ಮತ್ತು ಕಂಟೇನರ್ ಮಿತಿಗಳು
ನೆಟ್ವರ್ಕ್ ಸಾಧನವನ್ನು ರಚಿಸಲು ಮತ್ತು ಸಂರಚಿಸಲು ಅನುಮತಿ ಬೇಕು, ಒಂದೋ root ಆಗಿ ಅಥವಾ ನೆಟ್ವರ್ಕ್ ನಿರ್ವಹಣೆಯ ಸಾಮರ್ಥ್ಯದೊಂದಿಗೆ. ಸಾಮಾನ್ಯ ಬಳಕೆದಾರ ಅವಧಿ ಅದನ್ನು ಮಾಡಲಾರದು, ಮತ್ತು ಈ ಮಿತಿ ಕಲ್ಪನೆಯೇ ಹೊರತು ನೀವು ಪರಿಶೀಲಿಸದ ಇನ್ಸ್ಟಾಲರ್ ಚಲಾಯಿಸಿ ತಪ್ಪಿಸಿಕೊಳ್ಳಬಹುದಾದ ಅಡ್ಡಿಯಲ್ಲ.
ಕಂಟೇನರ್ ಒಳಗೆ ಮಿತಿ ದ್ವಿಗುಣವಾಗುತ್ತದೆ. ಕಂಟೇನರ್ಗೆ ಸುರಂಗ ಸಾಧನದ ಪ್ರವೇಶ ಮತ್ತು ಅದನ್ನು ಸಂರಚಿಸುವ ಸಾಮರ್ಥ್ಯ ಬೇಕು, ಮತ್ತು ಅದನ್ನು ನೀಡುವ ಧ್ವಜಗಳು Linux VPN ಕಂಟೇನರ್ ಬಳಸುವಂಥವೇ. ಸಾಮಾನ್ಯವಾಗಿ ವೆಬ್ ಬ್ರೌಸ್ ಮಾಡಬಲ್ಲ ನಿರ್ಬಂಧಿತ ಅತಿಥಿ ಕೂಡ ಇಂಟರ್ಫೇಸ್ ರಚಿಸಲಾರನು, ಏಕೆಂದರೆ ಬ್ರೌಸಿಂಗ್ಗೆ ಅಂತಹ ಸಾಮರ್ಥ್ಯ ಬೇಕಿಲ್ಲ. ಸಾಮರ್ಥ್ಯವನ್ನು ಅದು ಬೇಕಾದ ಸೇವೆಗೆ ನೀಡಿ, ಹೋಸ್ಟ್ನ ಪ್ರತಿ ಅವಧಿಗೆ ಅಲ್ಲ.
ಹೆಸರಿನ ಘರ್ಷಣೆಯನ್ನು ಬಗೆಹರಿಸಿ, ನಂತರ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ
ಈಗಾಗಲೇ ಇರುವ ಇಂಟರ್ಫೇಸ್ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಉಳಿಕೆ ಅಲ್ಲ. ಇನ್ನೊಂದು ನಿರ್ವಾಹಕ ಹೆಸರನ್ನು ಹೊಂದಿದ್ದು ಈಗಲೇ ಅದನ್ನು ಬಳಸುತ್ತಿರಬಹುದು, ಆದ್ದರಿಂದ ಏನನ್ನಾದರೂ ಅಳಿಸುವ ಮೊದಲು ಅದನ್ನು ಪರಿಶೀಲಿಸಿ:
ip link show wg0
sudo wg show wg0
ಮಾಲೀಕರು ಸಕ್ರಿಯ ಸೇವೆಯಾಗಿದ್ದರೆ, ಎರಡನೇ ಸಾಧನವನ್ನು ರಚಿಸುವ ಬದಲು ಆ ಸೇವೆಯನ್ನು ಸಂರಚಿಸಿ. ಅದು ನಿಜವಾಗಿಯೂ ಹಳೆಯದಾದರೆ, ಅದನ್ನು ರಚಿಸಿದ ಉಪಕರಣದ ಮೂಲಕ ತೆಗೆದುಹಾಕಿ, ನಂತರ ಸಂರಚನೆ ಮತ್ತು ಸಾಧನ ಹೊಂದಿಕೆಯಾಗಿರಲು ದಾಖಲಿತ ಕ್ಲೈಂಟ್ ಅಥವಾ ಘಟಕದಿಂದ ಇಂಟರ್ಫೇಸ್ ಎತ್ತಿ.
ರಚನೆ ಯಶಸ್ವಿಯಾದ ನಂತರ, ಮುಂದಿನ ವೈಫಲ್ಯವು ನಂತರದ ಹಂತಕ್ಕೆ ಸೇರಿದ್ದು, ಮತ್ತು ಸಾಧನ ಅಸ್ತಿತ್ವದಲ್ಲಿದ್ದ ನಂತರ ವೈಫಲ್ಯ ವರದಿ ಮಾಡುವ ಘಟಕ ಎಂದಿಗೂ ರಚಿಸದ ಸಾಧನಕ್ಕಿಂತ ಬೇರೆ ಸಮಸ್ಯೆ. ಅನುಮತಿಗಳನ್ನು ಮತ್ತೆ ಬದಲಾಯಿಸುವ ಮೊದಲು ಎರಡನ್ನೂ ಪ್ರತ್ಯೇಕಿಸಿ.