59 lines
1.4 KiB
Bash
Executable file
59 lines
1.4 KiB
Bash
Executable file
#!/bin/sh
|
|
# Nico Schottelius, 2020-08-03
|
|
# Setup a standard crs326
|
|
|
|
|
|
|
|
if [ $# -ne 4 ]; then
|
|
echo "$0 <current-ip> <new-ipv6-network> <hostname-to-be-setup> <password>"
|
|
echo "Example:"
|
|
echo "$0 fe80::764d:28ff:fe09:9355%eth1 2a0a:e5c0:2::/64 mikrotik-crs326-8 \$(pass ...)"
|
|
exit 1
|
|
fi
|
|
|
|
ip=$1; shift
|
|
newip=$1; shift
|
|
hostname=$1; shift
|
|
password=$1; shift
|
|
|
|
target=$ip
|
|
bridge=bridge
|
|
|
|
conf() {
|
|
echo $@
|
|
ssh admin@${target} "$@"
|
|
}
|
|
|
|
commastring() {
|
|
echo $@ | sed 's/ /,/g'
|
|
}
|
|
|
|
conf "/system identity set name=$hostname"
|
|
conf "/interface bridge add name=$bridge"
|
|
|
|
################################################################################
|
|
# MTU
|
|
|
|
for i in $(seq 1 24); do
|
|
conf "/interface ethernet set ether$i mtu=9200 l2mtu=9204"
|
|
conf "/interface bridge port add bridge=$bridge interface=ether$i hw=yes"
|
|
done
|
|
|
|
|
|
for i in $(seq 1 2); do
|
|
conf "/interface ethernet set sfp-sfpplus$i mtu=9200 l2mtu=9204"
|
|
conf "/interface bridge port add bridge=$bridge interface=sfp-sfpplus$i hw=yes"
|
|
done
|
|
|
|
|
|
################################################################################
|
|
# IPv6 address, password
|
|
|
|
conf "/ipv6 address add eui-64=yes advertise=no address=$newip interface=$bridge"
|
|
conf "/ipv6 address print"
|
|
conf "/password old-password=\"\" new-password=$password confirm-new-password=$password"
|
|
|
|
# Show neigh
|
|
conf "/interface bridge host print where !local"
|
|
|
|
echo "do not forget to set a password"
|