Changes for page Network Diagram (CLOUD)

Last modified by Iaroslav Platonov on 2026/06/09 11:24

From version 3.2
edited by Lana
on 2026/02/06 05:05
Change comment: Update document after refactoring.
To version 4.1
edited by Iaroslav Platonov
on 2026/06/09 11:24
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Lana
1 +XWiki.Iaroslav
Content
... ... @@ -1,16 +1,162 @@
1 -[[image:Screenshot 2025-11-11 at 15.58.11.png]]
1 +{{html clean="false"}}
2 +<style>
3 +/* Disable XWiki heading counters */
4 +.doc-content h1::before,.doc-content h2::before,
5 +.doc-content h3::before,.doc-content h4::before { content:none !important; display:none !important; }
6 +.doc-content { counter-reset:none !important; }
2 2  
8 +/* Reading progress bar */
9 +#rn-prog { position:fixed;top:0;left:0;height:3px;width:0;background:#005AB4;z-index:9999;pointer-events:none; }
3 3  
4 -When working via wired communication channels (using the Internet), to establish a secure data exchange channel between the client's equipment and the CENTO server, it is recommended to use a secure VPN channel based on the OpenVPN protocol.
11 +/* Layout — no right TOC on this page */
12 +.doc-content {
13 + max-width:860px;
14 + border-left:1px solid #E8E8E8;
15 + border-right:1px solid #E8E8E8;
16 + padding:0 32px 32px 32px;
17 +}
5 5  
6 -To implement a VPN channel based on the OpenVPN protocol, the client must have a router that supports the OpenVPN protocol (supported by most modern routers).
19 +/* Typography */
20 +.doc-content p { font-size:.93em;color:#333;line-height:1.75;margin:0 0 12px 0; }
21 +.doc-content ul { font-size:.93em;color:#333;line-height:1.75;margin:0 0 16px 0;padding-left:24px; }
22 +.doc-content li { margin-bottom:5px; }
23 +.doc-content code { background:#f5f5f5;border:1px solid #E8E8E8;border-radius:3px;padding:1px 5px;font-family:Menlo,Monaco,Consolas,"Courier New",monospace;font-size:.82em;color:#222;line-height:1; }
7 7  
8 -The following files are provided to the client for connection:
25 +/* Diagram figure */
26 +.diagram-wrap {
27 + margin:8px 0 28px 0;
28 + border:1px solid #E8E8E8;
29 + border-radius:6px;
30 + overflow:hidden;
31 + box-shadow:0 2px 8px rgba(0,0,0,.08);
32 +}
33 +.diagram-wrap img {
34 + display:block;
35 + width:100%;
36 + height:auto;
37 + cursor:zoom-in;
38 +}
39 +.diagram-cap {
40 + font-size:.78em;color:#555;
41 + background:#f5f5f5;
42 + border-top:1px solid #E8E8E8;
43 + padding:6px 12px;
44 +}
9 9  
10 -* ca.crt - public certificate of the certification authority
11 -* client.crt - public client encryption certificate
12 -* client.key - private key for the client certificate
13 -* auth.cfg - file containing the username and password
14 -* client.ovpn - OpenVPN configuration file
46 +/* Section heading */
47 +.doc-content h2 {
48 + font-size:1.1em;font-weight:700;color:#222;
49 + margin:28px 0 10px 0;
50 + padding-bottom:6px;
51 + border-bottom:1px solid #E8E8E8;
52 +}
15 15  
16 -To ensure security, the client.crt, client.key, and auth.cfg files are created individually for each client.
54 +/* File list */
55 +.file-list { list-style:none;padding:0;margin:0 0 16px 0; }
56 +.file-list li {
57 + display:flex;align-items:flex-start;gap:10px;
58 + padding:8px 12px;
59 + border-bottom:1px solid #E8E8E8;
60 + font-size:.88em;color:#333;
61 +}
62 +.file-list li:last-child { border-bottom:none; }
63 +.file-list li code {
64 + font-size:.88em;color:#005AB4;font-weight:600;white-space:nowrap;
65 + background:#deeaf7;border:1px solid #b3d4ee;border-radius:3px;padding:1px 6px;
66 + flex-shrink:0;
67 +}
68 +.file-list li span { line-height:1.55;padding-top:1px; }
69 +
70 +/* Info callout */
71 +.note-info { background:#e1f1f9 !important;border:1px solid #b3d4ee !important;border-left:4px solid #005AB4 !important;border-radius:6px;padding:12px 16px;margin:14px 0; }
72 +.note-hd { font-weight:700;font-size:.85em;display:flex;align-items:center;gap:5px;margin-bottom:5px;color:#003d80 !important; }
73 +.note-body { font-size:.875em;color:#222 !important;line-height:1.65; }
74 +
75 +/* Parent topic */
76 +.parent-topic { font-size:.82em;color:#555;margin:28px 0 0 0;border-top:1px solid #E8E8E8;padding-top:10px; }
77 +.parent-topic a { color:#005AB4; }
78 +
79 +/* Lightbox */
80 +#rn-lb { display:none;position:fixed;inset:0;z-index:9998;background:rgba(0,0,0,.85);cursor:zoom-out;align-items:center;justify-content:center; }
81 +#rn-lb.open { display:flex; }
82 +#rn-lb-wrap { position:relative;cursor:default;max-width:94vw;max-height:92vh; }
83 +#rn-lb-wrap img { max-width:100%;max-height:92vh;border-radius:5px;display:block; }
84 +#rn-lb-x { position:absolute;top:-13px;right:-13px;background:#005AB4;color:#fff;width:26px;height:26px;border-radius:50%;border:none;cursor:pointer;font-size:15px;display:flex;align-items:center;justify-content:center; }
85 +
86 +/* Back to top */
87 +#rn-top { position:fixed;bottom:60px;right:60px;z-index:9997;width:36px;height:36px;border-radius:50%;background:#005AB4;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(8px);transition:opacity .22s,transform .22s;pointer-events:none;box-shadow:0 2px 8px rgba(0,90,180,.3); }
88 +#rn-top.on { opacity:1;transform:translateY(0);pointer-events:auto; }
89 +#rn-top:hover { background:#0066cc; }
90 +</style>
91 +
92 +<div id="rn-prog"></div>
93 +<div id="rn-lb">
94 + <div id="rn-lb-wrap">
95 + <button id="rn-lb-x" onclick="closeLightbox()">&#10005;</button>
96 + <img id="rn-lb-img" src="" alt=""/>
97 + </div>
98 +</div>
99 +<button id="rn-top" onclick="window.scrollTo({top:0,behavior:'smooth'})" title="Back to top">
100 + <svg width="14" height="14" viewBox="0 0 16 16" fill="currentColor"><path d="M8 4l5 5H3z"/></svg>
101 +</button>
102 +
103 +<div class="doc-content">
104 +
105 + <!-- NOTE: Do NOT add <h1> — XWiki renders the title natively -->
106 +
107 + <div class="diagram-wrap">
108 + <img
109 + src="https://wiki.centosoftware.com/xwiki/bin/download/CENTO%20Manuals/Network%20diagram%20%28CLOUD%29/WebHome/Screenshot%202025-11-11%20at%2015.58.11.png"
110 + alt="CENTO Network Diagram — Cloud deployment"
111 + onclick="openLightbox(this)"/>
112 + <p class="diagram-cap">Network Diagram &mdash; CENTO Cloud deployment topology</p>
113 + </div>
114 +
115 + <h2>VPN connection via OpenVPN</h2>
116 +
117 + <p>When working via wired communication channels (Internet), it is recommended to establish a secure data exchange channel between the client&rsquo;s equipment and the CENTO server using a <strong>VPN channel based on the OpenVPN protocol</strong>.</p>
118 +
119 + <p>To implement an OpenVPN channel, the client must have a router that supports the OpenVPN protocol (supported by most modern routers).</p>
120 +
121 + <h2>Connection files</h2>
122 +
123 + <p>The following files are provided to the client for connection:</p>
124 +
125 + <ul class="file-list">
126 + <li><code>ca.crt</code> <span>Public certificate of the certification authority</span></li>
127 + <li><code>client.crt</code> <span>Public client encryption certificate</span></li>
128 + <li><code>client.key</code> <span>Private key for the client certificate</span></li>
129 + <li><code>auth.cfg</code> <span>File containing the username and password</span></li>
130 + <li><code>client.ovpn</code> <span>OpenVPN configuration file</span></li>
131 + </ul>
132 +
133 + <div class="note-info">
134 + <div class="note-hd"><span>&#8505;</span> Security note</div>
135 + <div class="note-body">The files <code>client.crt</code>, <code>client.key</code>, and <code>auth.cfg</code> are generated <strong>individually for each client</strong> to ensure connection security.</div>
136 + </div>
137 +
138 + <div class="parent-topic">Parent topic: <a href="[[CENTO Manuals>>doc:CENTO Manuals.WebHome]]">CENTO Manuals</a></div>
139 +
140 +</div>
141 +
142 +<script>
143 +(function(){
144 + var bar=document.getElementById('rn-prog');
145 + var top=document.getElementById('rn-top');
146 + window.addEventListener('scroll',function(){
147 + var d=document.documentElement;
148 + var pct=d.scrollTop/(d.scrollHeight-d.clientHeight);
149 + bar.style.width=(pct*100)+'%';
150 + d.scrollTop>200?top.classList.add('on'):top.classList.remove('on');
151 + },{passive:true});
152 +
153 + var lb=document.getElementById('rn-lb');
154 + var lbI=document.getElementById('rn-lb-img');
155 + window.openLightbox=function(img){lbI.src=img.src;lbI.alt=img.alt;lb.classList.add('open');document.body.style.overflow='hidden';};
156 + window.closeLightbox=function(){lb.classList.remove('open');document.body.style.overflow='';};
157 + lb.addEventListener('click',function(e){if(e.target===lb)closeLightbox();});
158 + document.addEventListener('keydown',function(e){if(e.key==='Escape')closeLightbox();});
159 +})();
160 +</script>
161 +{{/html}}
162 +