RN/Blatt02/scripts/101.sh

84 lines
1.7 KiB
Bash
Raw Normal View History

2024-11-15 22:00:09 +01:00
#!/bin/bash
echo "reboot to erase the old configurations;"
bash ~/reboot.sh
echo "rebooting"
countdown=40
while [ $countdown -gt 0 ]; do
echo -ne "counting down: $countdown s \033[0K\r"
sleep 1
countdown=$((countdown - 1))
done
assign_ip(){
local dev=$1
local eth_num=$2
local ip=$3
ssh $dev "ip link set dev eth$eth_num up"
ssh $dev "ip addr add $ip dev eth$eth_num"
echo "dev $dev eth$eth_num assign $ip"
}
assign_br(){
local dev=$1
local ip=$2
local ip_nocode=$3
ssh $dev "ip link add name br0 type bridge"
ssh $dev "ip link set dev br0 up"
ssh $dev "ip address add $ip dev br0"
ssh $dev "ip route append default via $ip_nocode dev br0"
}
turn_up(){
local dev=$1
local eth_num1=$2
local eth_num2=$3
local eth_num3=$4
ssh $dev "ip link set eth$eth_num1 up"
ssh $dev "ip link set eth$eth_num1 master br0"
ssh $dev "ip link set eth$eth_num2 up"
ssh $dev "ip link set eth$eth_num2 master br0"
ssh $dev "ip link set eth$eth_num3 up"
ssh $dev "ip link set eth$eth_num3 master br0"
}
ping_dev(){
local dev=$1
local ip=$2
local eth_n=$3
ssh $dev "which ping"
local cmd="ping -c 5 -W 2 -I eth$eth_n $ip"
echo $cmd
ssh "$dev" $cmd
}
assign_ip "pc1" 1 "10.5.1.1/24"
assign_ip "pc2" 1 "10.5.1.2/24"
assign_ip "pc3" 1 "10.5.1.3/24"
assign_ip "router4" 1 "10.5.1.4/24"
assign_br "router1" "10.5.1.5/24" "10.5.1.5"
turn_up "router1" 1 3 4
assign_br "router2" "10.5.1.5/24" "10.5.1.5"
turn_up "router2" 1 3 4
assign_br "router3" "10.5.1.6/24" "10.5.1.6"
turn_up "router3" 1 2 3
ping_dev "pc1" "10.5.1.3" "1"
ping_dev "router4" "10.5.1.3" "1"
ping_dev "router4" "10.5.1.1" "1"
ping_dev "router4" "10.5.1.2" "1"
ping_dev "pc1" "10.5.1.4" "1"
ping_dev "pc2" "10.5.1.4" "1"
ping_dev "pc3" "10.5.1.4" "1"