diff options
Diffstat (limited to 'results/classifier/deepseek-2-tmp/output/network/1261450')
| -rw-r--r-- | results/classifier/deepseek-2-tmp/output/network/1261450 | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/results/classifier/deepseek-2-tmp/output/network/1261450 b/results/classifier/deepseek-2-tmp/output/network/1261450 new file mode 100644 index 000000000..eeecd1daa --- /dev/null +++ b/results/classifier/deepseek-2-tmp/output/network/1261450 @@ -0,0 +1,80 @@ + +libvirtd reload and hooks problem routed-net + +if we do a reload of libvirt, some iptables rules, which are created through /etc/libvirt/hooks/qemu are not working anymore. +Every time a other (one or two,thee) vm is affected. + + +our qemu file: + +#!/bin/bash + + +do_net() { + local status=$2 + local ip=$3 + local in=$4 + local out=$5 + + if [[ ! $status || ! $ip || ! $in || ! $out ]]; then + echo "Not all parameters were passed!" + exit 1 + fi + + if [ "$status" = "stopped" -o "$status" = "reconnect" ]; then + ip route del $ip via 191.255.255.1 dev $out + ip neigh del proxy $ip dev $in + iptables -D FORWARD -i $in -o $out -s 0.0.0.0/0 -d $ip/32 -j ACCEPT + iptables -D FORWARD -i $out -o $in -s $ip/32 -d 0.0.0.0/0 -j ACCEPT + fi + + if [ "$status" = "start" -o "$status" = "reconnect" ]; then + ip route add $ip via 191.255.255.1 dev $out + ip neigh add proxy $ip dev $in + iptables -I FORWARD 4 -i $in -o $out -s 0.0.0.0/0 -d $ip/32 -j ACCEPT + iptables -I FORWARD 4 -i $out -o $in -s $ip/32 -d 0.0.0.0/0 -j ACCEPT + fi +} + +CONF=//etc/libvirt/hooks/vms/* +for file in $CONF +do + guest_ipaddr="" + guest_name="" + type="" + destination="0.0.0.0/0" + + while read line; do + eval $line + done < $file + guest_ipaddrnet=$guest_ipaddr"/32" + for dest in ${destination} + do + if [ "${1}" = "${guest_name}" ]; then + echo "SRC-IP="$guest_ipaddr " " $guest_ipaddrnet " VM="$guest_name " Dest="$dest + if [ "${2}" = "stopped" ]; then + ip route del $guest_ipaddr via 191.255.255.1 dev virbr1 + ip neigh del proxy $guest_ipaddr dev bond0 + iptables -D FORWARD -i bond0 -o virbr1 -s $dest -d $guest_ipaddrnet -j ACCEPT + iptables -D FORWARD -i virbr1 -o bond0 -s $guest_ipaddrnet -d $dest -j ACCEPT + fi + if [ "${2}" = "start" ]; then + ip route add $guest_ipaddr via 191.255.255.1 dev virbr1 + ip neigh add proxy $guest_ipaddr dev bond0 + iptables -I FORWARD 4 -i bond0 -o virbr1 -s $dest -d $guest_ipaddrnet -j ACCEPT + iptables -I FORWARD 4 -i virbr1 -o bond0 -s $guest_ipaddrnet -d $dest -j ACCEPT + fi + if [ "${2}" = "reconnect" ]; then + ip route del $guest_ipaddr via 191.255.255.1 dev virbr1 + ip neigh del proxy $guest_ipaddr dev bond0 + iptables -D FORWARD -i bond0 -o virbr1 -s $dest -d $guest_ipaddrnet -j ACCEPT + iptables -D FORWARD -i virbr1 -o bond0 -s $guest_ipaddrnet -d $dest -j ACCEPT + sleep 1 + ip route add $guest_ipaddr via 191.255.255.1 dev virbr1 + ip neigh add proxy $guest_ipaddr dev bond0 + iptables -I FORWARD 4 -i bond0 -o virbr1 -s $dest -d $guest_ipaddrnet -j ACCEPT + iptables -I FORWARD 4 -i virbr1 -o bond0 -s $guest_ipaddrnet -d $dest -j ACCEPT + fi + fi + done +done \ No newline at end of file |