summaryrefslogtreecommitdiff
path: root/src/op_mode/generate_ipsec_debug_archive.sh
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2021-10-26 07:38:40 +0200
committerGitHub <noreply@github.com>2021-10-26 07:38:40 +0200
commit09e2506cf023b9b4c8225f5beab9016ad64a71cd (patch)
treea94fa5057a4d99773b05942ce38e4df0e64446a3 /src/op_mode/generate_ipsec_debug_archive.sh
parent8ec19f0984d16be2db02490127da8fa464151005 (diff)
parent8bc4c453b1d237bdb3477c3f490435c659a34336 (diff)
downloadvyos-1x-09e2506cf023b9b4c8225f5beab9016ad64a71cd.tar.gz
vyos-1x-09e2506cf023b9b4c8225f5beab9016ad64a71cd.zip
Merge pull request #1044 from sever-sever/T3942
op-mode: T3942: Add feature Generate IPSec debug-archive
Diffstat (limited to 'src/op_mode/generate_ipsec_debug_archive.sh')
-rwxr-xr-xsrc/op_mode/generate_ipsec_debug_archive.sh36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/op_mode/generate_ipsec_debug_archive.sh b/src/op_mode/generate_ipsec_debug_archive.sh
new file mode 100755
index 000000000..53d0a6eaa
--- /dev/null
+++ b/src/op_mode/generate_ipsec_debug_archive.sh
@@ -0,0 +1,36 @@
+#!/usr/bin/env bash
+
+# Collecting IPSec Debug Information
+
+DATE=`date +%d-%m-%Y`
+
+a_CMD=(
+ "sudo ipsec status"
+ "sudo swanctl -L"
+ "sudo swanctl -l"
+ "sudo swanctl -P"
+ "sudo ip x sa show"
+ "sudo ip x policy show"
+ "sudo ip tunnel show"
+ "sudo ip address"
+ "sudo ip rule show"
+ "sudo ip route"
+ "sudo ip route show table 220"
+ )
+
+
+echo "DEBUG: ${DATE} on host \"$(hostname)\"" > /tmp/ipsec-status-${DATE}.txt
+date >> /tmp/ipsec-status-${DATE}.txt
+
+# Execute all DEBUG commands and save it to file
+for cmd in "${a_CMD[@]}"; do
+ echo -e "\n### ${cmd} ###" >> /tmp/ipsec-status-${DATE}.txt
+ ${cmd} >> /tmp/ipsec-status-${DATE}.txt 2>/dev/null
+done
+
+# Collect charon logs, build .tgz archive
+sudo journalctl /usr/lib/ipsec/charon > /tmp/journalctl-charon-${DATE}.txt && \
+sudo tar -zcvf /tmp/ipsec-debug-${DATE}.tgz /tmp/journalctl-charon-${DATE}.txt /tmp/ipsec-status-${DATE}.txt >& /dev/null
+sudo rm -f /tmp/journalctl-charon-${DATE}.txt /tmp/ipsec-status-${DATE}.txt
+
+echo "Debug file is generated and located in /tmp/ipsec-debug-${DATE}.tgz"