GCP HA VPN: BGP ಸೆಷನ್ Waiting for peer ನಲ್ಲಿ ನಿಲ್ಲುತ್ತದೆ, ವಿಳಾಸ ಜೋಡಿಯ ಅದಲುಬದಲು
Cloud VPN BGP ಸೆಷನ್ Waiting for peer ನಲ್ಲಿ ನಿಂತಿದ್ದರೆ ಸಾಮಾನ್ಯವಾಗಿ ಟನೆಲ್ ಮತ್ತು ಪೀರ್ ವಿಳಾಸಗಳು ಅದಲುಬದಲಾಗಿರುತ್ತವೆ. ಏನನ್ನೂ ಮತ್ತೆ ನಿರ್ಮಿಸುವ ಮೊದಲು ಜೋಡಿಯನ್ನು ಪರಿಶೀಲಿಸಿ.
Cloud VPN ಟನೆಲ್ನಲ್ಲಿ ಎಂದಿಗೂ Established ತಲುಪದ BGP ಸೆಷನ್ ಸಾಮಾನ್ಯವಾಗಿ ರೂಟಿಂಗ್ ಸಮಸ್ಯೆ ಅಲ್ಲ. ಇದು ವೈರಿಂಗ್ ಸಮಸ್ಯೆ: ಒಂದಕ್ಕೊಂದು ಪ್ರತಿಬಿಂಬವಾಗಿರಬೇಕಾದ ಎರಡು ವಿಳಾಸಗಳನ್ನು ತಪ್ಪು ಕ್ರಮದಲ್ಲಿ ನಮೂದಿಸಲಾಗಿದೆ, ಅಥವಾ ಮೊದಲ ಟನೆಲ್ನ ಜೋಡಿಯನ್ನು ಎರಡನೆಯದರಲ್ಲಿ ಮತ್ತೆ ಬಳಸಲಾಗಿದೆ. ಟನೆಲ್ ಸ್ವತಃ ಸಂಪೂರ್ಣ ಆರೋಗ್ಯವಾಗಿದ್ದರೂ ಸೆಷನ್ Waiting for peer ನಲ್ಲಿ ನಿಲ್ಲಬಹುದು, ಏಕೆಂದರೆ IPsec ಮತ್ತು BGP ಒಂದೇ ಎರಡು ತುದಿಗಳ ನಡುವಿನ ಪ್ರತ್ಯೇಕ ಮಾತುಕತೆಗಳು. ಏನನ್ನೂ ಮತ್ತೆ ನಿರ್ಮಿಸುವ ಮೊದಲು ಈ ಎರಡರಲ್ಲಿ ಯಾವುದು ಮುರಿದಿದೆ ಎಂದು ನಿರ್ಧರಿಸಿ.
ಒಂದು ಪ್ರಶ್ನೆ ಹೆಚ್ಚಿನ ಪ್ರಕರಣಗಳನ್ನು ಬಗೆಹರಿಸುತ್ತದೆ: ಪೀರ್ ಸಾಧನವು Cloud Router ನ ವಿಳಾಸವನ್ನು ಲೆಕ್ಕಿಸುತ್ತದೆಯೇ?
ಟನೆಲ್ ಸ್ಥಿತಿ ಮತ್ತು ಸೆಷನ್ ಸ್ಥಿತಿ ಬೇರೆ ಬೇರೆ ಪರಿಶೀಲನೆಗಳು
ಮೊದಲು IKE ಮತ್ತು ESP ಬರುತ್ತವೆ. ಟನೆಲ್ ಸ್ಥಾಪಿತವಾಗದಿದ್ದರೆ ಅದರ ಒಳಗಿನ ಯಾವುದೂ ಮುಖ್ಯವಲ್ಲ ಮತ್ತು BGP ವಿಳಾಸದ ಚರ್ಚೆ ಅಕಾಲಿಕ. ಟನೆಲ್ನ ಸ್ಥಿತಿ ಮತ್ತು ವಿವರವಾದ ಸ್ಥಿತಿಯನ್ನು ಓದಿ, ನಂತರ ಅದೇ ಟನೆಲ್ಗೆ ರೌಟರ್ನ BGP ಪೀರ್ ಸ್ಥಿತಿಯನ್ನು ಓದಿ.
ಟನೆಲ್ ಕೆಲಸ ಮಾಡುತ್ತಿದ್ದರೆ ಅದರ BGP ಪೀರ್ ನಿಂತಿದ್ದರೆ, ದೋಷ ಸೆಷನ್ಗೆ ಸೀಮಿತವಾಗುತ್ತದೆ: ಪೀರ್ ವಿಳಾಸ, ASN, ಅಥವಾ ಒಳ ವಿಳಾಸಕ್ಕೆ ಬರುವ TCP 179. ಟನೆಲ್ ಕೆಲಸ ಮಾಡುತ್ತಿದೆ, ಸೆಷನ್ ಕೆಲಸ ಮಾಡುತ್ತಿದೆ ಮತ್ತು ಇನ್ನೂ VPC ನಲ್ಲಿ ಯಾವುದೇ ರೂಟ್ ಇಲ್ಲ ಇದು ಮೂರನೇ ಪ್ರಕರಣ. ವಿಳಾಸಗಳನ್ನು ಬದಲಿಸುವುದರಿಂದ ಅಲ್ಲಿ ಪ್ರಯೋಜನವಿಲ್ಲ, ಏಕೆಂದರೆ ಸೆಷನ್ ಈಗಾಗಲೇ ಕೆಲಸ ಮಾಡುತ್ತಿದೆ ಮತ್ತು ಪ್ರಿಫಿಕ್ಸ್ ಕೇವಲ ಜಾಹೀರಾತಾಗುತ್ತಿಲ್ಲ ಅಥವಾ ಆದ್ಯತೆ ಪಡೆಯುತ್ತಿಲ್ಲ. ಈ ಮೂರನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಇಡುವುದೇ ಕೆಲಸದ ದೊಡ್ಡ ಭಾಗ.
ಪ್ರತಿ ಟನೆಲ್ಗೆ ಎರಡೂ ತುದಿಗಳನ್ನು ತುಂಬಿದ ಸ್ವಂತ /30 ಬೇಕು
ಪ್ರತಿ HA VPN ಟನೆಲ್ 169.254.0.0/16 ರಿಂದ link-local /30 ಪಡೆಯುತ್ತದೆ, ಒಂದು ವಿಳಾಸ Cloud Router ಇಂಟರ್ಫೇಸ್ನಲ್ಲಿ ಮತ್ತು ಇನ್ನೊಂದು ನಿಮ್ಮ ಪೀರ್ನಲ್ಲಿ. ಪೀರ್ ಕ್ಷೇತ್ರವು ದೂರದ ತುದಿಯನ್ನು ಹೆಸರಿಸಬೇಕು, ಎಂದಿಗೂ ರೌಟರ್ನ ಸ್ವಂತ ವಿಳಾಸವನ್ನಲ್ಲ.
ಎರಡು ಟನೆಲ್ಗಳು ಎಂದರೆ Cloud Router ನಲ್ಲಿ ಎರಡು ಇಂಟರ್ಫೇಸ್ಗಳು, ಪ್ರತಿಯೊಂದೂ ಬೇರೆ /30 ಜೊತೆ. ಟನೆಲ್ 0 ರ ಜೋಡಿಯನ್ನು ಟನೆಲ್ 1 ರಲ್ಲಿ ಮತ್ತೆ ಬಳಸುವುದು ಸಾರಾಂಶ ಕೋಷ್ಟಕದಲ್ಲಿ ಅಚ್ಚುಕಟ್ಟಾಗಿ ಕಾಣುವ ಮತ್ತು OPEN ಪ್ಯಾಕೆಟ್ನಲ್ಲಿ ಸಾಯುವ ತಪ್ಪು.
| Tunnel | Router interface | Peer address | What a swap produces |
|---|---|---|---|
| tunnel 0 | 169.254.1.1/30 | 169.254.1.2 | OPEN sent to itself or to nothing; session waits |
| tunnel 1 | 169.254.1.5/30 | 169.254.1.6 | same failure on the second session |
| both | one pair reused | one address reused | one session up, the other never leaves waiting |
ಜೋಡಿಯನ್ನು ಕನ್ಸೋಲ್ ಸಾರಾಂಶದಿಂದ ಅಲ್ಲ, ರೌಟರ್ ಸಂಪನ್ಮೂಲದಿಂದ ಓದಿ. ಸಾರಾಂಶವು ಪೀರ್ ವಿಳಾಸವನ್ನು ತಪ್ಪಾಗಿ ಓದಲು ಸುಲಭವಾದ ಕಾಲಮ್ನಲ್ಲಿ ಪಟ್ಟಿ ಮಾಡುತ್ತದೆ, ಮತ್ತು ಇಂಟರ್ಫೇಸ್ನ ipRange ಜೊತೆಗೆ ಪೀರ್ನ peerIpAddress ಒಂದೇ /30 ರ ವಿರುದ್ಧ ತುದಿಗಳನ್ನು ವಿವರಿಸಬೇಕು.
ಅದಲುಬದಲು ಸಾಮಾನ್ಯವಾಗಿ ಮರುನಿರ್ಮಾಣದ ಸಮಯದಲ್ಲಿ ಸಂಭವಿಸುತ್ತದೆ
ಟನೆಲ್ ಮರುನಿರ್ಮಾಣ ಮಾಡುವಾಗಲೇ ಜೋಡಿಗಳು ಅಡ್ಡವಾಗುತ್ತವೆ. ಹಳೆಯ ಟನೆಲ್ನ ಪೀರ್ ವಿಳಾಸವನ್ನು ಹೊಸ ಟನೆಲ್ನ ಇಂಟರ್ಫೇಸ್ ಕ್ಷೇತ್ರಕ್ಕೆ ನಕಲಿಸಲಾಗುತ್ತದೆ, ಅಥವಾ ಹೊಸ ಸೆಷನ್ ಅನ್ನು ಹಿಂದಿನ ಸೆಷನ್ನ ಪೀರ್ಗೆ ತಿರುಗಿಸಲಾಗುತ್ತದೆ. ಯಾವ ರೀತಿಯಲ್ಲಾದರೂ Cloud Router OPEN ಪ್ಯಾಕೆಟ್ಗಳನ್ನು ಈಗ ತಾನೇ ಆಗಿರುವ ವಿಳಾಸಕ್ಕೆ ಅಥವಾ ಹಿಂದೆ ಟನೆಲ್ ಇಲ್ಲದ ವಿಳಾಸಕ್ಕೆ ಕಳುಹಿಸುತ್ತದೆ.
ಕನ್ಸೋಲ್ ತೆರೆಯುವ ಮೊದಲು ಜೋಡಿಗಳನ್ನು ಬರೆಯಿರಿ: ಟನೆಲ್ ಹೆಸರು, ಇಂಟರ್ಫೇಸ್, ರೌಟರ್ ವಿಳಾಸ, ಪೀರ್ ವಿಳಾಸ, ಪೀರ್ ASN. ನಂತರ ಎರಡೂ ಟನೆಲ್ಗಳನ್ನು ಒಂದೇ ಬಾರಿಗೆ ರಚಿಸಿ, ಎರಡನೆಯದು ಮೊದಲನೆಯ ಉಳಿಕೆಗಳಿಂದ ತುಂಬದಂತೆ.
ಸೆಷನ್ ಕಾಯುತ್ತಿರಲು ಇನ್ನೂ ಮೂರು ಕಾರಣಗಳು
ಮೊದಲನೆಯದು ಪೀರ್ ASN: ಪ್ರತಿ ಬದಿಯನ್ನು ಇನ್ನೊಂದು ಬದಿಯ ASN ನಿಂದ ಸಂರಚಿಸಬೇಕು, ಮತ್ತು ವ್ಯತ್ಯಾಸವು ಪೀರ್ ತಲುಪುತ್ತದೆ ಆದರೆ ಎಂದಿಗೂ ಸ್ಥಾಪಿತವಾಗುವುದಿಲ್ಲ. ಎರಡನೆಯದು ಪೀರ್ನ ಸ್ವಂತ ಫೈರ್ವಾಲ್, ಅದು ಟನೆಲ್ ಇಂಟರ್ಫೇಸ್ನಲ್ಲಿ TCP 179 ಗೆ ಅನುಮತಿ ನೀಡಬೇಕು; IKE ಅಥವಾ ESP ನಿಯಮ ಅದನ್ನು ಒಳಗೊಳ್ಳುವುದಿಲ್ಲ. ಮೂರನೆಯದು ತನ್ನ ನೆರೆಹೊರೆಯವರಾಗಿ ಸಂರಚಿಸಿದ ವಿಳಾಸಕ್ಕಿಂತ ಬೇರೆ ಮೂಲ ವಿಳಾಸದಿಂದ ಉತ್ತರಿಸುವ ಪೀರ್.
ಪೀರ್ನ ಸ್ವಂತ ಲಾಗ್ ನಿರ್ಣಾಯಕ. ಅದರ BGP ಸಾರಾಂಶವು ಆ ವಿಳಾಸಕ್ಕೆ ಯಾವುದೇ ನೆರೆಹೊರೆಯವರನ್ನು ಪಟ್ಟಿ ಮಾಡದಿದ್ದರೆ ಪ್ಯಾಕೆಟ್ಗಳು ಬರುತ್ತಿಲ್ಲ ಮತ್ತು ಜೋಡಿ ಅಥವಾ ಮಾರ್ಗ ತಪ್ಪಾಗಿದೆ. ನೆರೆಹೊರೆಯವರು Active ಅಥವಾ Connect ನಲ್ಲಿದ್ದರೆ ಪ್ಯಾಕೆಟ್ಗಳು ಬರುತ್ತಿವೆ ಮತ್ತು ಸೆಷನ್ ನಿಯತಾಂಕಗಳು ಹೊಂದಿಕೆಯಾಗುತ್ತಿಲ್ಲ.
ಪ್ಯಾಕೆಟ್ಗಳು ಚಲಿಸುವ ಕ್ರಮದಲ್ಲಿ ಪರಿಶೀಲಿಸಿ
ಹೊರಕ್ಕೆ ಕೆಲಸ ಮಾಡಿ: ಟನೆಲ್ ಸ್ಥಿತಿ, ನಂತರ ರೌಟರ್ನ BGP ಪೀರ್ ಸ್ಥಿತಿ, ನಂತರ ಪೀರ್ನ BGP ಸಾರಾಂಶ, ನಂತರ ರೂಟ್ಗಳು. ಮೊದಲೆರಡು ಆರೋಗ್ಯವಾಗಿದ್ದರೆ Cloud VPN ಬದಿಯ ಸಂಪಾದನೆಯನ್ನು ನಿಲ್ಲಿಸಿ ಪೀರ್ ಸಾಧನದಲ್ಲಿ ಕೆಲಸ ಮಾಡಿ. ರೌಟರ್ ಪೀರ್ ನಿಂತಿದೆ ಎಂದು ವರದಿ ಮಾಡಿದರೆ ಮತ್ತು ನಿಮ್ಮ ಸಾಧನಕ್ಕೆ ನೆರೆಹೊರೆಯವರಿಲ್ಲದಿದ್ದರೆ, ಜೋಡಿ ತಪ್ಪಾಗಿದೆ ಅಥವಾ BGP ಪೋರ್ಟ್ ಫಿಲ್ಟರ್ ಆಗಿದೆ. ಪೀರ್ನ ಟನೆಲ್ ಇಂಟರ್ಫೇಸ್ನಲ್ಲಿ ಪ್ಯಾಕೆಟ್ ಸೆರೆಹಿಡಿಯುವಿಕೆ ಒಂದೇ ನೋಟದಲ್ಲಿ ಅದನ್ನು ಬಗೆಹರಿಸುತ್ತದೆ, ಏಕೆಂದರೆ OPEN ಪ್ಯಾಕೆಟ್ಗಳು ಅಲ್ಲಿಗೆ ಬರುತ್ತವೆ ಇಲ್ಲವೇ ಎಂದಿಗೂ ಬರುವುದಿಲ್ಲ.
gcloud compute routers get-status ROUTER --region=REGION ಪೀರ್ ಸ್ಥಿತಿಯನ್ನು ಅದು ಬಳಸುತ್ತಿರುವ ವಿಳಾಸದ ಪಕ್ಕದಲ್ಲಿ ಮುದ್ರಿಸುತ್ತದೆ, ಮತ್ತು ಅದೇ ನೀವು ಹೋಲಿಸಬೇಕಾದ ಜೋಡಿ.
ಸೆಷನ್ ಸ್ಥಾಪಿತವಾದ ನಂತರ ಕಲಿತ ಪ್ರಿಫಿಕ್ಸ್ VPC ರೂಟ್ ಕೋಷ್ಟಕದಲ್ಲಿ ಕಾಣಿಸುತ್ತದೆ ಮತ್ತು ಪ್ರತಿ ಬದಿಯಲ್ಲಿ ಒಂದು ಹೋಸ್ಟ್ ಉತ್ತರಿಸುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸಿ. ನಂತರ ಅಂತಿಮ ಜೋಡಿಗಳನ್ನು ಟನೆಲ್ ಹೆಸರುಗಳ ಪಕ್ಕದಲ್ಲಿ ದಾಖಲಿಸಿ, ಮುಂದಿನ ಮರುನಿರ್ಮಾಣವು ಕನ್ಸೋಲ್ ಸಾರಾಂಶದ ಬದಲು ಪರಿಶೀಲಿಸಿದ ಕೋಷ್ಟಕದಿಂದ ಆರಂಭವಾಗಲಿ.