RN/Blatt02/scripts/103.sh
2024-11-15 22:00:09 +01:00

74 lines
1.9 KiB
Bash

#!/bin/bash
bash /home/rnp/2/101.sh
echo "Now running 103.sh"
assign_vlan(){
local dev=$1
local eth=$2
local id=$3
local ip=$4
ssh $dev "ip link add link $eth name $eth.$id type vlan id $id"
ssh $dev "ip link set dev $eth.$id up"
ssh $dev "ip addr flush dev $eth"
ssh $dev "ip addr add $ip dev $eth.$id"
}
assign_vlan "router4" "eth1" "100" "10.5.1.4/24"
assign_vlan "pc3" "eth1" "100" "10.5.1.3/24"
assign_vlan "pc2" "eth1" "200" "10.5.1.2/24"
assign_vlan "pc1" "eth1" "200" "10.5.1.1/24"
ping_dev(){
local dev=$1
local ip=$2
local eth_n=$3
# ssh "$dev" $cmd
loss=$(ssh $dev "ping -c 5 -W 2 -I eth$eth_n $ip | awk -F', ' '/packet loss/ {print \$3}' | awk '{print int(\$1)}'")
output=$(ssh $dev "ping -c 5 -W 2 -I eth$eth_n $ip")
echo $output > 2/output/"${dev}_${ip}_${eth_n}"
echo $loss
}
check(){
local dev1=$1
local dev2=$2
local ping_loss=$3
local num=$4
echo $ping_loss
if [ $ping_loss -eq $num ]; then
echo -e "from $dev1 to $dev2: \t yes"
else
echo -e "from $dev1 to $dev2: \t no"
fi
}
loss=$(ping_dev "router4" "10.5.1.1" "1.100")
check "router4" "pc1" "$loss" 100
loss=$(ping_dev "router4" "10.5.1.2" "1.100")
check "router4" "pc2" "$loss" 100
loss=$(ping_dev "router4" "10.5.1.3" "1.100")
check "router4" "pc3" "$loss" 0
loss=$(ping_dev "pc1" "10.5.1.2" "1.200")
check "pc1" "pc2" "$loss" 0
loss=$(ping_dev "pc1" "10.5.1.3" "1.200")
check "pc1" "pc3" "$loss" 100
loss=$(ping_dev "pc1" "10.5.1.4" "1.200")
check "pc1" "router4" "$loss" 100
loss=$(ping_dev "pc2" "10.5.1.1" "1.200")
check "pc2" "pc1" "$loss" 0
loss=$(ping_dev "pc2" "10.5.1.3" "1.200")
check "pc2" "pc3" "$loss" 100
loss=$(ping_dev "pc2" "10.5.1.4" "1.200")
check "pc2" "router4" "$loss" 100
loss=$(ping_dev "pc3" "10.5.1.1" "1.100")
check "pc3" "pc1" "$loss" 100
loss=$(ping_dev "pc3" "10.5.1.2" "1.100")
check "pc3" "pc2" "$loss" 100
loss=$(ping_dev "pc3" "10.5.1.4" "1.100")
check "pc3" "router4" "$loss" 0