OpenVPN 3 Linux ನ ವೈಫಲ್ಯಗಳು ಅಪರಿಚಿತ ಹೆಸರಿನೊಂದಿಗೆ D-Bus ವಿಧಾನ ದೋಷವಾಗಿ ಬರುತ್ತವೆ, ಮತ್ತು ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಹಳೆಯ ಆವೃತ್ತಿಗೆ ಇಳಿಸಿ ನಂಬುವುದೇ ಪ್ರಲೋಭನೆ. ಕ್ಲೈಂಟ್ ಒಂದು ಪ್ರೋಗ್ರಾಂ ಅಲ್ಲ: ಕಮಾಂಡ್ ಲೈನ್ ಫ್ರಂಟೆಂಡ್ ಬಸ್ ಮೂಲಕ ಪ್ರೊಫೈಲ್ಗಳು, ಸೆಷನ್ಗಳು, VPN ಎಂಜಿನ್ ಮತ್ತು ವಿಶೇಷ ಅನುಮತಿಯ ನೆಟ್ವರ್ಕ್ ಬದಲಾವಣೆಗಳನ್ನು ಹೊಂದಿರುವ ಸೇವೆಗಳೊಂದಿಗೆ ಮಾತನಾಡುತ್ತದೆ. ಈ ಐದರಲ್ಲಿ ಯಾವುದು ವಿಫಲವಾದ ಕರೆಯನ್ನು ಹೊಂದಿದೆ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸುವುದೇ ರೋಗನಿರ್ಣಯದ ದೊಡ್ಡ ಭಾಗ, ಅದು ಹಿಂದೆ ಹೋಗುವ ಬದಲು ಒಂದು ಆಜ್ಞೆಯ ವೆಚ್ಚ. ಮುಂದೆ ಅದೇ ನಿರ್ಧಾರ, ವೈಫಲ್ಯಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಕಾಣಿಸುವ ಕ್ರಮದಲ್ಲಿ.

ಒಂದು ಆಜ್ಞೆಯ ಹಿಂದೆ ಐದು ಮಾಲೀಕರು

ಐದು ಪ್ರಕ್ರಿಯೆಗಳು ಮುಖ್ಯ, ಪ್ರತಿಯೊಂದಕ್ಕೂ ತನ್ನದೇ ಬಸ್ ಹೆಸರಿದೆ: ನಿಮ್ಮ ಆಜ್ಞೆಯನ್ನು ಸ್ವೀಕರಿಸುವ ಫ್ರಂಟೆಂಡ್, ಪ್ರೊಫೈಲ್ಗಳು ಮತ್ತು ಅವುಗಳ ಪ್ರವೇಶ ನೀತಿಯನ್ನು ಸಂಗ್ರಹಿಸುವ ಕಾನ್ಫಿಗರೇಶನ್ ಮ್ಯಾನೇಜರ್, ಸೆಷನ್ ಆಯುಷ್ಯವನ್ನು ಹೊಂದಿರುವ ಸೆಷನ್ ಮ್ಯಾನೇಜರ್, OpenVPN 3 Core Engine ಮೂಲಕ ಸಂಪರ್ಕವನ್ನು ನಡೆಸುವ ಬ್ಯಾಕೆಂಡ್, ಮತ್ತು ಇಂಟರ್ಫೇಸ್, ಮಾರ್ಗಗಳು, DNS ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಸ್ಥಾಪಿಸುವ ನೆಟ್ವರ್ಕ್ ಕಾನ್ಫಿಗರೇಶನ್ ಸೇವೆ. ಆದ್ದರಿಂದ ಕಾನ್ಫಿಗರೇಶನ್ ಆಬ್ಜೆಕ್ಟ್ ಅನ್ನು ಹೆಸರಿಸುವ ದೋಷ ಬ್ಯಾಕೆಂಡ್ ದೋಷವಲ್ಲ, ಪ್ರಾರಂಭವಾಗದ ಬ್ಯಾಕೆಂಡ್ ದೃಢೀಕರಣ ವೈಫಲ್ಯವಲ್ಲ. ಸಂದೇಶವನ್ನು ಆ ಸಾಲುಗಳಲ್ಲಿ ಒಂದಕ್ಕೆ ಸೇರಿಸುವುದು ಏನನ್ನಾದರೂ ಬದಲಿಸುವ ಮೊದಲು ನಡೆಯಬೇಕು, ಏಕೆಂದರೆ ಪ್ರತಿ ಮುಂದಿನ ಹೆಜ್ಜೆ ಯಾವ ಸಾಲು ನಿಜ ಎಂಬುದನ್ನು ಅವಲಂಬಿಸಿದೆ. ಸಾಲನ್ನು ಊಹಿಸುವುದೇ ಸಣ್ಣ ತಿದ್ದುಪಡಿ ಪ್ಯಾಕೇಜುಗಳೊಂದಿಗೆ ಪೂರ್ಣ ಮಧ್ಯಾಹ್ನದ ಕೆಲಸವಾಗುವ ಮಾರ್ಗ.

ಬೇರೆ ಏನನ್ನಾದರೂ ಕೇಳುವ ಮೊದಲು ಸಿಸ್ಟಂ ಬಸ್ಗೆ ಯಾವ ಸೇವೆಗಳು ಇವೆ ಎಂದು ಕೇಳಿ, ನಂತರ ಸ್ಥಾಪಿತ ಭಾಗಗಳು ಒಂದು ಆವೃತ್ತಿಯಲ್ಲಿ ಒಪ್ಪುತ್ತವೆ ಎಂದು ಖಚಿತಪಡಿಸಿ. OpenVPN 3 Linux ಆ ಸೇವೆಗಳನ್ನು ಸಿಸ್ಟಂ ಘಟಕಗಳಾಗಿ ನೋಂದಾಯಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ಕೇಳಬೇಕಾದ ಬಸ್ ಸಿಸ್ಟಂ ಬಸ್, ಆವೃತ್ತಿ ಪ್ರಶ್ನೆಗೆ ಆಡಳಿತ ಅಧಿಕಾರ ಬೇಕು, ಮತ್ತು --user ನೊಂದಿಗೆ ತಯಾರಿಸಿದ ಪಟ್ಟಿ ನಿಮ್ಮ ಲಾಗಿನ್ ಸೆಷನ್ ಅನ್ನು ಓದುತ್ತದೆ, ಅಲ್ಲಿ ಘಟಕಗಳು ಎಂದಿಗೂ ಕಾಣಿಸುವುದಿಲ್ಲ. ಸೇವೆಗಳು ಬೇಡಿಕೆಯ ಮೇರೆಗೆ ಸಕ್ರಿಯವಾಗುತ್ತವೆ, ಕೆಲವು ನಿಷ್ಕ್ರಿಯವಾದಾಗ ನಿರ್ಗಮಿಸುತ್ತವೆ, ಆದ್ದರಿಂದ ನಿಮ್ಮ ಮೊದಲ ವಿನಂತಿಗೆ ಮೊದಲು ಇಲ್ಲದ ಸೇವೆಯನ್ನು ಇನ್ನೂ ಯಾವುದರ ಬಗ್ಗೆಯೂ ಕೇಳಿಲ್ಲ. ಕೆಳಗಿನ ಮೂರು ಆಜ್ಞೆಗಳು VPN ಸೆಷನ್ ತೆರೆಯದೆ ಇರುವಿಕೆ, ಆವೃತ್ತಿ ಮತ್ತು ಘಟಕದ ಸ್ಥಿತಿಗೆ ಉತ್ತರಿಸುತ್ತವೆ.

sudo busctl list | grep -i openvpn
sudo openvpn3-admin version --services
systemctl list-units 'openvpn3*'

ಪ್ರತಿ ಪಟ್ಟಿ ನಿಜವಾಗಿ ಏನನ್ನು ಸಾಬೀತುಪಡಿಸುತ್ತದೆ

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

openvpn3 configs-list
openvpn3 sessions-list

ಆ ಔಟ್ಪುಟ್ಗಳಲ್ಲಿನ ಆಬ್ಜೆಕ್ಟ್ ಮಾರ್ಗಗಳು ಬಸ್ನಲ್ಲಿ ನಿರ್ವಹಿಸಲ್ಪಡುವ ಆಬ್ಜೆಕ್ಟ್ಗಳನ್ನು ಸೂಚಿಸುತ್ತವೆ, ಫೈಲ್ಗಳನ್ನಲ್ಲ, ಆದ್ದರಿಂದ ಅವುಗಳನ್ನು ಸಂಪಾದಿಸಲಾಗದು, ಮತ್ತು ಮೊದಲು ದಾಖಲಿಸಿದ ಮಾರ್ಗ ಆ ಸೆಷನ್ ಸಂಪರ್ಕ ಕಡಿತಗೊಳ್ಳುವ ಕ್ಷಣದಲ್ಲಿ ಹಳೆಯದಾಗುತ್ತದೆ. ನಿಮ್ಮ ಟಿಪ್ಪಣಿಗಳಲ್ಲಿನ ಒಂದನ್ನು ಮತ್ತೆ ಬಳಸುವುದು VPN ನೊಂದಿಗೆ ಯಾವುದೇ ಸಂಬಂಧವಿಲ್ಲದ "no such object" ದೋಷಗಳನ್ನು ಸೃಷ್ಟಿಸುತ್ತದೆ. ಕೆಳಗಿನ ಹಂತದ ಕೋಷ್ಟಕ ಸಂಪರ್ಕದ ಪ್ರತಿ ಹೆಜ್ಜೆ ಏನನ್ನು ಸ್ಥಾಪಿಸುತ್ತದೆ, ಏನನ್ನು ತೆರೆದಿಡುತ್ತದೆ ಎಂಬುದನ್ನು ಬೇರ್ಪಡಿಸುತ್ತದೆ, ಮತ್ತು ಹಿಂದೆ ಹೋಗುವ ನಿರ್ಧಾರ ಅದೇ ವ್ಯತ್ಯಾಸದ ಮೇಲೆಯೇ ನಿಂತಿದೆ. ನಿಮ್ಮ ಸಾಕ್ಷ್ಯಕ್ಕೆ ಹೊಂದುವ ಸಾಲನ್ನು ಓದಿ, ನಂತರ ದೋಷದ ಪಠ್ಯವನ್ನು ಮತ್ತೆ ಓದಿ.

StageWhat existsWhat proves itWhat it does not prove
Profile importedA configuration object held by the configuration managerThe profile is listed by the clientThat the profile owner permits a connection
Session requestedA session object held by the session managerThe session appears in the session listThat the remote side accepted the credentials
Connect dispatchedAn asynchronous attempt on the VPN backendStatus changes arrive for that sessionThat an interface was configured
Tunnel configuredAn interface, routes and DNS settingsThe network service reports success and routes appearThat traffic reaches the peer

ಸಂಪರ್ಕ ಕರೆ ಸುರಂಗ ಇರುವ ಮೊದಲೇ ಹಿಂತಿರುಗುತ್ತದೆ

ಸಂಪರ್ಕ ಕರೆ ನಿಮಗೆ ಮೇಲ್ವಿಚಾರಣೆಗೆ ಸೆಷನ್ ನೀಡಿ ಹಿಂತಿರುಗುತ್ತದೆ, ಆದ್ದರಿಂದ ಹೊರನೋಟಕ್ಕೆ ಯಶಸ್ವಿ ಕರೆಯ ನಂತರ ಮೌನ ಬರುವುದು ಸಾಮಾನ್ಯ ಮಧ್ಯಂತರ ಸ್ಥಿತಿ, ವಿರೋಧಾಭಾಸವಲ್ಲ. ಫ್ರಂಟೆಂಡ್ ಇನ್ನೂ ಸ್ಥಿತಿ ಬದಲಾವಣೆಗಳನ್ನು ಅನುಸರಿಸಿ ಪ್ರತಿ ಪರಸ್ಪರ ಕ್ರಿಯೆ ವಿನಂತಿಗೆ ಉತ್ತರಿಸಬೇಕು. ರುಜುವಾತು ಬೇಕಾಗಿ ಉತ್ತರ ಸಿಗದ ಪ್ರೊಫೈಲ್ ಸಿಕ್ಕಿಹಾಕಿಕೊಂಡ ಬ್ಯಾಕೆಂಡ್ನಂತೆಯೇ ಕಾಣುವ ಸ್ಥಿತಿಯಲ್ಲಿ ಕಾಯುತ್ತದೆ. ಆ ಕಾಯುವ ಸ್ಥಿತಿಯನ್ನು ಗುರುತಿಸಬೇಕು, ಏಕೆಂದರೆ ಅದು ಜನರನ್ನು ತಪ್ಪು ಘಟಕಕ್ಕೆ ಕಳುಹಿಸುತ್ತದೆ.

ಪ್ರಯತ್ನ ನಡೆಯುತ್ತಿರುವಾಗ, ಆ ಪ್ರೊಫೈಲ್ಗಾಗಿ ಸೆಷನ್ ಪಟ್ಟಿ ಮತ್ತು ಫ್ರಂಟೆಂಡ್ನ ಸ್ವಂತ ಲಾಗ್ ಅನ್ನು ಗಮನಿಸಿ. ತನ್ನ ಆರಂಭಿಕ ಸ್ಥಿತಿಯನ್ನು ಎಂದಿಗೂ ಬಿಡದ ಸೆಷನ್ ನಿಂತ ಘಟಕವನ್ನು ಹೆಸರಿಸುತ್ತದೆ, ಲಾಗ್ ಸಾಮಾನ್ಯವಾಗಿ ಮೊದಲ ಸಾಲುಗಳಲ್ಲೇ ಅದನ್ನು ಹೆಸರಿಸುತ್ತದೆ. ಪ್ರೊಫೈಲ್ ಹೆಸರನ್ನು ಕೈಯಲ್ಲಿ ಇಟ್ಟುಕೊಳ್ಳಿ, ಏಕೆಂದರೆ ಲಾಗ್ ಆಜ್ಞೆ ಸೆಷನ್ ಮಾರ್ಗವನ್ನಲ್ಲ, ಪ್ರೊಫೈಲ್ ಅನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ, ಇದು ಮಾರ್ಗವನ್ನು ಮತ್ತೆ ಬಳಸುವ ಬದಲು ಪಟ್ಟಿಯನ್ನು ಮತ್ತೆ ಓದಲು ಇನ್ನೊಂದು ಕಾರಣ.

openvpn3 sessions-list
openvpn3 log --config <profile> --level 6

ಸೆಷನ್ ತೆರೆಯದೆ ಒಂದು ಘಟಕದ ಲಾಗ್ ಓದುವುದು

ಫ್ರಂಟೆಂಡ್ ಉಪಯುಕ್ತವಾದದ್ದನ್ನು ವರದಿ ಮಾಡದಿದ್ದಾಗ, ಹೊಸ ಸಂಪರ್ಕ ಪ್ರಾರಂಭಿಸುವ ಬದಲು ವೈಫಲ್ಯವನ್ನು ಲಾಗ್ ಮಾಡಿದ ಘಟಕದ ಬಳಿಗೆ ಹೋಗಿ. ಕಾನ್ಫಿಗರ್ ಮಾಡಿದ systemd-journald ಲಾಗರ್ನೊಂದಿಗೆ, ನಿರ್ವಾಹಕರ ಸೀಮಿತ ಜರ್ನಲ್ ನೋಟ ಒಂದು ಘಟಕದ ಘಟನೆಗಳನ್ನು ಓದುತ್ತದೆ, ಬಸ್ ನೀತಿಯನ್ನು ಸ್ಪರ್ಶಿಸದೆ ಸೆಷನ್ ತೆರೆಯದೆ, ಇದು ಮುಖ್ಯ ಏಕೆಂದರೆ ಅಳೆಯಲ್ಪಡುತ್ತಿರುವ ವ್ಯವಸ್ಥೆಯನ್ನೇ ಬದಲಿಸುವ ರೋಗನಿರ್ಣಯ ಬಹಳ ಕಡಿಮೆಯನ್ನೇ ಸಾಬೀತುಪಡಿಸುತ್ತದೆ. ಘಟಕದ ಆಧಾರದಲ್ಲಿ ಫಿಲ್ಟರ್ ಮಾಡಿ, syslog ಟ್ಯಾಗ್ ಆಧಾರದಲ್ಲಿ ಅಲ್ಲ: ಪ್ರತ್ಯೇಕ ಸೇವಾ ಘಟಕಗಳು ಸಾಮಾನ್ಯ ಗುರುತಿಗೆ ಖಾತರಿ ನೀಡುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ ಟ್ಯಾಗ್ ಪ್ರಶ್ನೆ ಖಾಲಿ ಪುಟವನ್ನು ಹಿಂತಿರುಗಿಸಬಹುದು, ಅದೇ ಸಮಯದಲ್ಲಿ ಘಟಕವೇ ವೈಫಲ್ಯವನ್ನು ದಾಖಲಿಸಿರಬಹುದು.

ಯಾರನ್ನಾದರೂ ಸಹಾಯ ಕೇಳುವ ಮೊದಲು ನಾಲ್ಕು ಕ್ಷೇತ್ರಗಳನ್ನು ದಾಖಲಿಸಿ: ದೋಷದ ಪೂರ್ಣ ಹೆಸರು, ಸಂಬಂಧಿತ ಸೇವೆ ಮತ್ತು ಆಬ್ಜೆಕ್ಟ್, ಸಮಯದ ಮುದ್ರೆ, ಸ್ಥಾಪಿತ ಪ್ಯಾಕೇಜುಗಳ ಆವೃತ್ತಿಗಳು. ಇವೇ ನಿರ್ವಾಹಕನಿಗೆ ಬೇಕಾದವು, ಇವುಗಳಲ್ಲಿ ಯಾವುದಕ್ಕೂ ಪ್ರೊಫೈಲ್ ಅಥವಾ ರುಜುವಾತನ್ನು ಟಿಕೆಟ್ನಲ್ಲಿ ಅಂಟಿಸಬೇಕಿಲ್ಲ. ದೋಷವನ್ನು ಸದ್ದಡಗಿಸಲು ಬಸ್ ಪ್ರವೇಶ ನೀತಿಯನ್ನು ವಿಸ್ತರಿಸುವುದು ರೋಗನಿರ್ಣಯವಲ್ಲ, ಅದು ನಿಮ್ಮ ಪರವಾಗಿ ಘಟಕವನ್ನು ಹೆಸರಿಸಿದ ಗಡಿಯನ್ನು ಅಳಿಸುತ್ತದೆ. ಪ್ರೊಫೈಲ್ಗಳ ಖಾಸಗಿ ವಿಷಯವು ಹಂಚಿದ ವರದಿಗಳ ಹೊರಗೆ ಇರುತ್ತದೆ, ರುಜುವಾತುಗಳು ಹೊರಗೆ ಇರುವ ಅದೇ ಕಾರಣದಿಂದ.

journalctl -u 'openvpn3-service-*' -n 50 --no-pager
openvpn3-admin journal --service <name>

ನಿರಾಕರಿಸಿದ ಗಡಿಯ ಸರಿಪಡಿಸುವಿಕೆ

ನಕ್ಷೆಯ ಪ್ರತಿ ಸಾಲಿಗೂ ಅದರದೇ ತಿದ್ದುಪಡಿ ಇದೆ, ಸಾಲುಗಳು ಒಂದನ್ನೊಂದು ಬದಲಿಸುವುದಿಲ್ಲ. ಪ್ರೊಫೈಲ್ನಲ್ಲಿ ನಿರಾಕರಿಸಲಾದ ಕ್ರಿಯೆ ನೀತಿ ಮತ್ತು ಮಾಲೀಕತ್ವದ ಪ್ರಶ್ನೆ, ಅದೇ ಸಮಯದಲ್ಲಿ ಸಕ್ರಿಯಗೊಳ್ಳದ ಬ್ಯಾಕೆಂಡ್ ಸೇವೆಗಳು ಮತ್ತು ಪ್ಯಾಕೇಜಿಂಗ್ನ ಪ್ರಶ್ನೆ. ದೃಢೀಕರಣವನ್ನು ನಿರಾಕರಿಸುವ ಸರ್ವರ್ ಎರಡೂ ಅಲ್ಲ, ಆದ್ದರಿಂದ ಪದೇ ಪದೇ ಪಾಸ್ವರ್ಡ್ ಬದಲಾವಣೆ ಸ್ಥಳೀಯ ಸಕ್ರಿಯಗೊಳಿಸುವಿಕೆಯ ಸಮಸ್ಯೆಯನ್ನು ಸರಿಪಡಿಸಲಾರದು. ತಪ್ಪು ತಿದ್ದುಪಡಿಯನ್ನು ಆಯ್ಕೆ ಮಾಡುವುದೇ ನೀತಿ ಸಮಸ್ಯೆ ಮರುಸ್ಥಾಪನೆಯಾಗುವ ಮಾರ್ಗ.

ಪ್ಯಾಕೇಜ್ ಬದಲಾವಣೆಯ ನಂತರ ಹಳೆಯ ಬೈನರಿಯನ್ನು ಅದರ ಸ್ಥಳದಲ್ಲಿ ನಕಲಿಸುವ ಬದಲು ಸುಸಂಗತ ಮತ್ತು ಬೆಂಬಲಿತ ಸ್ಥಾಪನೆಯನ್ನು ಪರಿಶೀಲಿಸಿ. ನಿಯಂತ್ರಿತ ಹಿಂತಿರುಗುವಿಕೆ ದೃಢೀಕೃತ ರಿಗ್ರೆಷನ್ಗೆ ಮಾನ್ಯ ಉತ್ತರ, ಪ್ಯಾಕೇಜುಗಳು ಸುಸಂಗತವಾಗಿ ಉಳಿದು ಬೆಂಬಲಿತ ನಿರ್ವಹಣೆಗೆ ಹಿಂತಿರುಗುವ ಮಾರ್ಗ ಇದ್ದರೆ. ಆ ಮಾರ್ಗವನ್ನು ಸೇವೆ ಪ್ರಾರಂಭವಾಗುವುದನ್ನು ನಿಲ್ಲಿಸುವ ಮೊದಲೇ ಸ್ಥಾಪಿಸಿ, ನಂತರವಲ್ಲ.

ಇನ್ನೊಂದು ವೇದಿಕೆ ಅದೇ ಮೂಲ VPN ಗ್ರಂಥಾಲಯವನ್ನು Linux ನ ಬಸ್ ಸೇವೆಗಳನ್ನು ಹಂಚಿಕೊಳ್ಳದೆ ಹಂಚಿಕೊಳ್ಳಬಹುದು, ಆದ್ದರಿಂದ Windows ನಲ್ಲಿ ಇದೇ ರೀತಿ ಕಾಣುವ ವೈಫಲ್ಯ ಇದರ ಬಗ್ಗೆ ಏನನ್ನೂ ಹೇಳುವುದಿಲ್ಲ. D-Bus ಅವಲೋಕನ ಕಾನ್ಫಿಗರೇಶನ್ಗಳು ಮತ್ತು ಸೆಷನ್ಗಳಿಗಾಗಿ ಒಡ್ಡಲಾದ ಆಬ್ಜೆಕ್ಟ್ ಮಾರ್ಗಗಳನ್ನು ದಾಖಲಿಸುತ್ತದೆ, ಈ ರೋಗನಿರ್ಣಯ ನಿಂತಿರುವ ವಾಸ್ತುಶಿಲ್ಪದ ಭಾಗ ಅದೇ. ಒಮ್ಮೆ ಓದಿ, ಮುಂದಿನ ದೋಷ ಈಗಾಗಲೇ ಅದಕ್ಕೆ ಜೋಡಿಸಲಾದ ಘಟಕದೊಂದಿಗೆ ಬರುತ್ತದೆ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು