fix: create dir at switch.sh
Some checks failed
Coverage CI / build (push) Has been cancelled
CodeQL / Analyze (go) (push) Has been cancelled
Ubuntu CI / build (push) Has been cancelled

This commit is contained in:
Daniel Ding
2025-11-26 11:23:06 +08:00
parent 431169034f
commit a33fcff822
2 changed files with 27 additions and 29 deletions

View File

@@ -2,70 +2,68 @@
set -ex
## set this bridge as a root
# ip link show br-hello || brctl addbr br-hello
# brctl setbridgeprio br-hello 0
cs_dir="/etc/openlan/switch"
sysctl -p /etc/sysctl.d/90-openlan.conf
# clean older files.
## START: clean older files.
/usr/bin/env find /var/openlan/access -type f -delete
/usr/bin/env find /var/openlan/openvpn -name '*.status' -delete
/usr/bin/env find /var/openlan/openvpn -name '*client.ovpn' -delete
/usr/bin/env find /var/openlan/openvpn -name '*client.tmpl' -delete
## END
cs_dir="/etc/openlan/switch"
## START: prepare external dir.
for dir in network acl findhop link output route qos dnat; do
[ -e "$cs_dir/$dir" ] || mkdir -p "$cs_dir/$dir"
done
## END
if [ ! -e $cs_dir/switch.json ]; then
cat > $cs_dir/switch.json << EOF
[ -e $cs_dir/switch.json ] || cat > $cs_dir/switch.json << EOF
{
"crypt": {
"secret": "cb2ff088a34d"
}
}
EOF
fi
if [ ! -e $cs_dir/network/ipsec.json ]; then
cat > $cs_dir/network/ipsec.json << EOF
## START: install default network
[ -e $cs_dir/network/ipsec.json ] || cat > $cs_dir/network/ipsec.json << EOF
{
"name": "ipsec",
"provider": "ipsec"
}
EOF
fi
if [ ! -e $cs_dir/network/bgp.json ]; then
cat > $cs_dir/network/bgp.json << EOF
[ -e $cs_dir/network/bgp.json ] || cat > $cs_dir/network/bgp.json << EOF
{
"name": "bgp",
"provider": "bgp"
}
EOF
fi
if [ ! -e $cs_dir/network/proxy.json ]; then
cat > $cs_dir/network/proxy.json << EOF
[ -e $cs_dir/network/ceci.json ] || cat > $cs_dir/network/ceci.json << EOF
{
"name": "proxy",
"provider": "proxy"
"name": "ceci",
"provider": "ceci"
}
EOF
fi
for dir in acl findhop link output route network qos dnat; do
if [ -e "$cs_dir/$dir" ]; then
continue
fi
mkdir -p "$cs_dir/$dir"
done
[ -e $cs_dir/network/router.json ] || cat > $cs_dir/network/router.json << EOF
{
"name": "router",
"provider": "router"
}
EOF
## END
# wait ipsec service
## START: wait ipsec ready
while true; do
if ipsec status ; then
break
break
fi
sleep 5
done
## END
exec /usr/bin/openlan-switch -conf:dir $cs_dir -log:level 20

View File

@@ -29,10 +29,10 @@ func GetPair(name string) (string, string) {
s1 := ""
if strings.HasPrefix(name, "br-") {
s0 = strings.Replace(name, "br-", "hi-", 1)
s1 = strings.Replace(name, "br-", "si-", 1)
s1 = strings.Replace(name, "br-", "bi-", 1)
} else {
s0 = fmt.Sprintf("hi-%s", name)
s1 = fmt.Sprintf("si-%s", name)
s1 = fmt.Sprintf("bi-%s", name)
}
return GetName(s0), GetName(s1)
}