Skip to main content
Version: v25.07.31

Two-Spoke Setup (Hub, Hub Link, PE, CE Link PE) Troubleshooting

Two-Spoke Network Setup provides troubleshooting steps for connectivity and configuration issues. These include starting from the CE terminal, configuration checks, network connectivity tests, interface status checks, route inspection, firewall rule analysis, and examining log files. By following these steps, you can identify and resolve network communication issues.

Troubleshooting Steps

Cloud Configuration Verification

Access the CE Terminal

Before you start troubleshooting, you must have the necessary permissions to run the commands. To do this, run the following command.

sudo su -

Checking OpenVPN Configuration

Run this command to view the OpenVPN configuration in the last applied settings:

cat /tmp/last_config_response.json | jq .interfacesConfig.openVpn

The given one is just an example output; when this command is run, it will show something like this.

Example Response

{
"vtun38_2": {
"trafficPolicy": "2mbps",
"trafficPolicyIn": true,
"trafficPolicyOut": true,
"caCertFile": null,
"certFile": null,
"keyFile": null,
"crlFiles": [],
"dhFile": null,
"pushRoutes": null,
"subnet": null,
"replaceDefaultRoutes": false,
"maxConnections": null,
"useLzoCompression": false,
"nameServer": null,
"cipher": "AES-256-CBC",
"authentication": null,
"interfaceName": "vtun38_2",
"bridgeGroup": "br38",
"tunnelType": "none",
"localPort": 50024,
"remotePort": 50024,
"localHost": null,
"remoteHost": "117.186.234.99",
"remoteHosts": [
"117.186.234.99"
],
"openVpnOption": null,
"persistentTunnel": true,
"vpnSharedSecret": "IwojIDIwNDggYml0IE9wZW5WUE4gc3RhdGljIGtleQojCi0tLS0tQkVHSU4gT3BlblZQTiBTdGF0aWMga2V5IFYxLS0tLS0KY2MzZTYzZjJmMjNiNDQ0YmUyYTk5YTBhYjgwZDQxMjkKM2RjMWZmMDM2YjdhNTZjMDcyOGFlMzBkYTRiMWJiZmEKYjRiZmJmZmVkNWFjNjJjMTg5NWQzYjIyNGE5NjkyYmYKNjljZGM0N2Y0YmM1MmU5ZmY3NzI3NjZkNzI4ZTBlMGYKOGRhNWVjNDgxOWRkMTJkZWNjNDQxZjU2NmZmMmY0MDEKZGMzNDAzOTliNDZkNWI1NzE5MTlkOThhNDJmNTdjZmIKMzFkNDk4YTY3ZjQzYzZkODA3MzY5Mjk3NGU5NTNmNzgKNWY2MWFmOThhOTUzZGJjYjg0ZjZmNzJiZjdhYjNiMjcKNWIwZDY2MGNkYzdiMDAwZjFjYTg5NmVlMTcwYTM5N2UKMzBiMWU3ZjBlOWM2MWE0ZWVmYzM5ZGRjNmE2YWI5MDcKYTM3MzViNzNlNjgxMmQxNmQwZTVjMGZjMzVkMmRkYWIKY2JmM2NlMjI0YjcyOTdmZTczY2EwMjViOTk3ZjM1YmMKYTc4MWQ1ODMwMjFiMDk3N2ZkOTg4MzQ2NWVhNmUxNjgKMzcxODZiMWJjN2NlNDM1ZTViYjRmMGVlMGVkNzVkM2MKMjhkZTU1ODM0OGI1Y2Q5NzM0Y2QwNjljOTQ5M2JjMTMKOTU4NzU1NzcyMTQwZGZmZmMxYjhmYzkzOTIyZGZmMWIKLS0tLS1FTkQgT3BlblZQTiBTdGF0aWMga2V5IFYxLS0tLS0K",
"splitTunnel": false,
"socksProxy": false,
"socksProxyType": null,
"socksProxyPrivateKey": null,
"socksProxyPublicKey": null,
"description": "6426ea7e83066500241c5f3a@hiclouds.io ( SHA - sha-bate1-pe1 ) ( vtun38_2 ) ",
"wanInterfaces": null,
"mode": "site-to-site",
"protocol": "udp",
"ceDeviceId": null,
"ceDeviceLabel": null,
"customerEmail": null,
"status": null,
"peDeviceIds": [
"67c579ae37591440308f3d34"
],
"hubCEDeviceIds": [],
"ceSpokeId": null,
"remoteDeviceLabel": null,
"ethInterface": null
},
"vtun38": {
"trafficPolicy": null,
"trafficPolicyIn": false,
"trafficPolicyOut": false,
"caCertFile": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN4VENDQWEyZ0F3SUJBZ0lHQVljNEEvNmNNQTBHQ1NxR1NJYjNEUUVCQ3dVQU1Ca3hGekFWQmdOVkJBTU1EazFoYm5WaGJDMVVaWE4wYVc1bk1CNFhEVEl6TURNek1URTBNVE14T0ZvWERUTXpNRE15T0RFME1UTXhPRm93R1RFWE1CVUdBMVVFQXd3T1RXRnVkV0ZzTFZSbGMzUnBibWN3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLQW9JQkFRQ0VOR1JkN0dDRVo1anB6bTRTVmNDZEZibFdMb2VQc1g0cnM2dnhhdFFIZDhtUmtoWDRkUU9NR0pkelJ5bWsyNXhqbEhzRHNGZkpSSWJzZVY1bG1WajZISVEzaXhyWUVWaTF2aTNxemVuR1FwcncrKzFGcmx3M096cXlySUxVV0pabGNDL3U0cVNVcUJyMXBkWXF2QkVPa2UxTXh2RkxkM1FoYytzK2pEOXYyOXhzbUNBdzFtRDlPTVNVdEh5RSt0UzBqM1lTRExxcWNpQlFHYzlTNXh1akRoRkFac3dvNTVhZHc3OWRLbWRCcnNvQ0YzQUpub0JJenQvaEhrUE1mTG9XcXUwc3NXdjNkLzhXOUo2c2JPWkRIbDI3Ums0eVBDZTF0SStnZUN4ajhtL01URmhjQWFDeGNzUUJLclBXR3BHKytjdTRxZnRHMm82Q2VPVnl0Qm1CQWdNQkFBR2pFekFSTUE4R0ExVWRFd0VCL3dRRk1BTUJBZjh3RFFZSktvWklodmNOQVFFTEJRQURnZ0VCQURBMlo4WmZWSVJiYlVQZCtIOW5YNHVtSVFYeDR0RHVKaEhKZzVIVWhDRzZJZitzbjRLbTdQV0pZVVhTTSsxRHk1S09vV1VNN0lrVjRTeVFyVWw5dmtjR3RKMnRPT3oxSERJUjc4bDRidk5tWVdFaEdaeFBKR3RBVllaOGtSV2trVHNQUDltQlRndWFMTkt6ZDcySTFLKzdiOUpzUGliclcyOCt3bzRlNWhPdUVRR0xtd3NoMm1jWGVSRWs3STlKOTVwUFBQdytDVXN6aGVyeDkvbWVYcFpRb25nWGZaaDFzTWRuRjhHWWVkaEZ6M0IzUENHTllZcWFrb0lVbnZSMzRheTZpSnJkRHFGa0hyOEtkQ2tJWVh0U1hYWWVSbFBpWWsxQ3VIQWg0RFFKMXhWQ3FUVmFJaDByRG5zZjBrZnE4RktuSWo1S0ZRL3lYQmhlUWQ0YmZnVT0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQ==",
"certFile": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN1akNDQWFLZ0F3SUJBZ0lHQVplQjZLUHVNQTBHQ1NxR1NJYjNEUUVCQ3dVQU1Ca3hGekFWQmdOVkJBTU1EazFoYm5WaGJDMVVaWE4wYVc1bk1CNFhEVEkxTURZeE9EQTNNVGsxTmxvWERUTTFNRFl4TmpBM01UazFObG93SXpFaE1COEdBMVVFQXd3WU5qZzFNalk0T0RjMU1EY3hNR0V4T0RBeE1UUTBaREJrTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFwNlJWdEMyN0hwZ2lmakdrNVlSVDQ3VDJHWjBXZCtnZWZSV0NrcklkRDE5ZmhMNDlNeE1iL08zdG4xbXpMNWVPQW5WTTVJbnFNeVhudXg2QUNkYjBlYjFiSmlOTFFlaXlJMEVOSHhoSVJxQjBFSjQ4TlhaUktGYWxEWHFKdHR4R2VCcS9EVEN4OWVVcUxjUS8zM3ZBcFNxamYyV25tcnY1UHdsTWEvT2NTU3BhNVZ3K01LanJwTUtiajMrN1EyejFTdU1Bazl2Nk00NDdPeElrL05zYVg1WWJwb0Vmb296aXZxb0FpaVBWa0ZWd1BPOCszQ1dkTXZBTXlkaGFlaHR2cUhvZlJIUFA2ODJpeEVIVHhyMDN5L0luT1hvcWVSS2U5VWpNNVNGUERmU3ZjdFQrQXI1UVhuaUoxa1cwcnZGY3ZCcW9Xb3VXOWlpbVg1NWZKdGtjcVFJREFRQUJNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUNDT01XWWVQc0RRQVNDVzcxTjU4eVprQ1RQS3g5RE5oNmZ5bi8vRGk1ODlMNHJOL0l1Y0JYYVY4a2txR3pHOEtBL1hCUXc4MXR5Q25GOWhyMjdvWkZYRGtERXlZdnFxUVRnMHozUnFIM3dyblJJd290YjBLYVBFK3AyTkV3NzJTbkNHSE13dk15TEZBekpUV3NXdU5reUUzWldDckFESGkwNFRkdnFvbE9KbGI4Y1pBTFJ3eHlKYmsvK0dDVVluWmdqOU5oV0hHYmVYeFhjK1NtWmZUUjUwWFZ3a0lIK1o1T0hPMWxHMkpCRjJqZ0ZaS2dpMHdod1N0NGFnRWhsVEs3T3RPTDhlWVlkQjVjS1hCYjIxZGRIMWZyZEUxS2J5cm4wWkZJQkxpUzNBVUw4Z2JCKzFRM0V4NFB6amdobURmbUhSQnBubDREUnYwQUtTM2FJaHpsOAotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t",
"keyFile": "LS0tLS1CRUdJTiBQUklWQVRFIEtFWS0tLS0tCk1JSUV2UUlCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktjd2dnU2pBZ0VBQW9JQkFRQ25wRlcwTGJzZW1DSitNYVRsaEZQanRQWVpuUlozNkI1OUZZS1NzaDBQWDErRXZqMHpFeHY4N2UyZldiTXZsNDRDZFV6a2llb3pKZWU3SG9BSjF2UjV2VnNtSTB0QjZMSWpRUTBmR0VoR29IUVFuancxZGxFb1ZxVU5lb20yM0VaNEdyOE5NTEgxNVNvdHhEL2ZlOENsS3FOL1phZWF1L2svQ1V4cjg1eEpLbHJsWEQ0d3FPdWt3cHVQZjd0RGJQVks0d0NUMi9vempqczdFaVQ4MnhwZmxodW1nUitpak9LK3FnQ0tJOVdRVlhBODd6N2NKWjB5OEF6SjJGcDZHMitvZWg5RWM4L3J6YUxFUWRQR3ZUZkw4aWM1ZWlwNUVwNzFTTXpsSVU4TjlLOXkxUDRDdmxCZWVJbldSYlN1OFZ5OEdxaGFpNWIyS0taZm5sOG0yUnlwQWdNQkFBRUNnZ0VBSE1LMVQyV2ZHaWNZbDlUVmlPalVhWmIwdDcwN0N4UkFFczZiYWFaMEZOeVVheFltTXJwL0RUd1dqY1dhVjdwbEN5ZnJxck84Z2N6cGZqRkQzeXhKSWcrcDhSZVNCRHN6UUpnYTg3QTdTaDZoK3UzaXYzdE9maUNyVFc0dDdUaktRRFc2ZkQxVDhxOC90cjFhQmZIWndaeFlrM1V4dFhxMVRxcStPVEVBcVk1N0ZEL0tlb1BhTm5nR1lyTzFSb1NTc1Jrem5LeGNnTnJSTlhsTGpGcnVpaG1FUldCdGhsNmR3bHA4d1g2VDBGNnRsZnVSVHRtU21SZkxYSGgxQTBYZ3lqL3VTTExOakZmaGtaajlSMVlDWGNRZ1VtYlkwMHBOOHNUeFgwQUVsTUdYQWxaS2tlNDNaYmxNSDg1RUdYaEcwREVlbERKcWxQZktSaVBkMW8xd0dRS0JnUURMUTU0RjVybElGQmdNNjJsdXdOOVE3bzdIMEFubEtPWUZqNkNyeWZ0dWovTVF5V0hiMmtwNm56QjFoZ3ZzSVdXUnJUSGoyOE5uZEdQTnMrRDFWbGErdU55Q21SQlZnU0RJOG04cG4yWDREQk1LdnZVTitlWEVQSGk2YktZeHhIRDlrcEpHbzNFQ2hBR1RBa05oRWdvT0NOd1cyK2U2bGs2WGpFbWd5UzZPTlFLQmdRRFRJc1BRMS9Xem5CYzVZOFpWN2xydWJHSWoxK1JRMzNVZ2FKSkxSVlFGaXJiM3p3dnA0bmFGZVBZcVFzRzJ3RnVyT2N1eGNkMllRc0crR0ZPNzVRZ1lzNVM0Vkoxei9ocXRnRFVIUDEzYjFZay9tVVBvYnRqYTdOZDkxUVAxVEkvQmxvMHNEbzYreklhY0Y2NGhUTkZDeUE1NWd4U0FyLzA2NVZ4VGV1SXpKUUtCZ0JhNldORVFHMmVUMTV5YU5nL01RU3dyZ0l1WEY0UW9McEF3bnlhV1R5YnRzYUFPNUlKUXhrTXZ5WnRhZ2JyRmdUWG94OHRTcDJiSi9ON2pYaVFRbzJKd0NUZ1JKV0pxTGVCS08yUE1EdnJOWHRPMHhuSHBuMmR4MjQzODJCaDRmcW5iMmI5TVJ6YWd6QXhFRklTbUg3bXlBK29LYkw3UVQ3bGlWbGxFSlpDQkFvR0JBTTBDSGFha2UyT1o5WWI1RlhVTXl1aGsvdW9VMEJHaTJDVE94UFluYkEweGdyV2VLZEJBMzVwOE9ISVNmZXZJWFhvbDFWNEgxUVhxRkJ0VG5jSjlBZDZTU0o2dk1tK1ZWU3dRcCt6UW4zODhtVmJTcC9pQjRUaTU3Z2UxbFhGU2xPZUJHclNqc2dFYnNMelIxWGRxRW1ySXZCMUtwTmJMaTVQcmJ6bHp3VDJ0QW9HQWFqNEgzTTVYRCtMRUlCamtGOGozei9iSTFMMHZwN2RGQXlPUTFSK1A4aitDNHZPOEZBdlp1b2d5TXVraUNGbStndjBteWhQT1A1ckFqRmp3SUlvbDNNMmNpelpncFN4NkJBNnd5a3JpYWdoWERYTnFrTWtONXJFNW9VYVErUS9HbllDNG9ISGVYeW1qYmRJWGtaV3RUaHF4NmdOczNVMzY5bDk3OUptL1krTT0KLS0tLS1FTkQgUFJJVkFURSBLRVktLS0tLQ==",
"crlFiles": [],
"dhFile": null,
"pushRoutes": [],
"subnet": "172.29.2.0/24",
"replaceDefaultRoutes": true,
"maxConnections": 20,
"useLzoCompression": true,
"nameServer": "172.29.2.1",
"cipher": "default",
"authentication": {
"authenticationMethod": "PLATFORM",
"office365": null,
"ldap": null
},
"interfaceName": "vtun38",
"bridgeGroup": null,
"tunnelType": null,
"localPort": 11940,
"remotePort": null,
"localHost": "192.168.31.225",
"remoteHost": null,
"remoteHosts": [],
"openVpnOption": null,
"persistentTunnel": true,
"vpnSharedSecret": null,
"splitTunnel": false,
"socksProxy": false,
"socksProxyType": null,
"socksProxyPrivateKey": null,
"socksProxyPublicKey": null,
"description": "Vpn Server",
"wanInterfaces": null,
"mode": "server",
"protocol": "udp",
"ceDeviceId": null,
"ceDeviceLabel": null,
"customerEmail": null,
"status": null,
"peDeviceIds": [],
"hubCEDeviceIds": [],
"ceSpokeId": null,
"remoteDeviceLabel": null,
"ethInterface": "eth0"
}
}
Q:1 I ran the command but got “No such file or directory”. What does it mean?

Q:2 What if the output shows null or empty values for certificates or keys?

Q:3 Why is the remoteHost field important?