root / kvm-ifdown @ 838c1835
History | View | Annotate | Download (1.4 kB)
1 | cf51ea5b | Dimitris Aragiorgis | #!/bin/bash |
---|---|---|---|
2 | cf51ea5b | Dimitris Aragiorgis | |
3 | cf51ea5b | Dimitris Aragiorgis | # This is an example of a Ganeti kvm ifup script that configures network |
4 | cf51ea5b | Dimitris Aragiorgis | # interfaces based on the initial deployment of the Okeanos project |
5 | cf51ea5b | Dimitris Aragiorgis | |
6 | 4ae972e7 | Dimitris Aragiorgis | source /etc/default/snf-network |
7 | 38305e4c | Dimitris Aragiorgis | source /usr/lib/snf-network/common.sh |
8 | d2b16e51 | Dimitris Aragiorgis | |
9 | 58645c13 | Dimitris Aragiorgis | GANETI_INSTANCE_NAME=$INSTANCE |
10 | 58645c13 | Dimitris Aragiorgis | |
11 | 8a567d09 | Dimitris Aragiorgis | if [ "x$INTERFACE" = "x" ]; then |
12 | 8a567d09 | Dimitris Aragiorgis | $SNF_NETWORK_LOG $0 "INTERFACE not set. Aborting" |
13 | 8a567d09 | Dimitris Aragiorgis | else |
14 | 58645c13 | Dimitris Aragiorgis | $SNF_NETWORK_LOG $0 "Unconfiguring interface $INTERFACE of $GANETI_INSTANCE_NAME" |
15 | 8a567d09 | Dimitris Aragiorgis | fi |
16 | 8a567d09 | Dimitris Aragiorgis | |
17 | 38305e4c | Dimitris Aragiorgis | FROM=FROM${INTERFACE^^} |
18 | 38305e4c | Dimitris Aragiorgis | TO=TO${INTERFACE^^} |
19 | 673de0e4 | Dimitris Aragiorgis | |
20 | 8a567d09 | Dimitris Aragiorgis | ONLY_LOCAL=$2 |
21 | 8a567d09 | Dimitris Aragiorgis | |
22 | cf51ea5b | Dimitris Aragiorgis | if [ "$MODE" = "routed" ]; then |
23 | 2e8a73e0 | Dimitris Aragiorgis | TABLE=$LINK |
24 | edaf6687 | Dimitris Aragiorgis | DROPDHCPREQCMD="iptables -A FORWARD -D $INTERFACE -p udp --dport 67 -j DROP" |
25 | cf51ea5b | Dimitris Aragiorgis | elif [ "$MODE" = "bridged" ]; then |
26 | edaf6687 | Dimitris Aragiorgis | DROPDHCPREQCMD="runlocked $RUNLOCKED_OPTS ebtables -D $FROM -p ipv4 --ip-protocol udp --ip-destination-port 67 -j DROP" |
27 | d2b16e51 | Dimitris Aragiorgis | fi |
28 | 9bd377b2 | Dimitris Aragiorgis | |
29 | 9bd377b2 | Dimitris Aragiorgis | |
30 | 9bd377b2 | Dimitris Aragiorgis | for tag in $NETWORK_TAGS; do |
31 | 9bd377b2 | Dimitris Aragiorgis | case $tag in |
32 | c0bb4267 | Dimitris Aragiorgis | $IP_LESS_ROUTED_TAG) |
33 | edaf6687 | Dimitris Aragiorgis | try clear_routed_setup_ipv4 |
34 | edaf6687 | Dimitris Aragiorgis | try clear_routed_setup_ipv6 |
35 | edaf6687 | Dimitris Aragiorgis | try clear_routed_setup_firewall |
36 | 838c1835 | Dimitris Aragiorgis | try delete_neighbor_proxy |
37 | 9bd377b2 | Dimitris Aragiorgis | ;; |
38 | c0bb4267 | Dimitris Aragiorgis | $NFDHCPD_TAG) |
39 | 9bd377b2 | Dimitris Aragiorgis | # Drop unicast BOOTP/DHCP packets |
40 | 38305e4c | Dimitris Aragiorgis | $DROPDHCPREQCMD |
41 | edaf6687 | Dimitris Aragiorgis | try clear_nfdhcpd |
42 | 9bd377b2 | Dimitris Aragiorgis | ;; |
43 | c0bb4267 | Dimitris Aragiorgis | $MAC_FILTERED_TAG) |
44 | edaf6687 | Dimitris Aragiorgis | try clear_ebtables |
45 | 9bd377b2 | Dimitris Aragiorgis | ;; |
46 | 8a567d09 | Dimitris Aragiorgis | $DNS_TAG) |
47 | 8a567d09 | Dimitris Aragiorgis | if ! $ONLY_LOCAL; then |
48 | 8a567d09 | Dimitris Aragiorgis | get_rev4_info "$IP" |
49 | 8a567d09 | Dimitris Aragiorgis | get_eui64 "$MAC" "$SUBNET6" |
50 | 8a567d09 | Dimitris Aragiorgis | get_rev6_info "$EUI64" |
51 | 8a567d09 | Dimitris Aragiorgis | $SNF_NETWORK_LOG $0 "delete dns entry for $GANETI_INSTANCE_NAME $IP $EUI64" |
52 | 8a567d09 | Dimitris Aragiorgis | update_all delete |
53 | 8a567d09 | Dimitris Aragiorgis | fi |
54 | 8a567d09 | Dimitris Aragiorgis | ;; |
55 | 9bd377b2 | Dimitris Aragiorgis | esac |
56 | 9bd377b2 | Dimitris Aragiorgis | done |
57 | 9bd377b2 | Dimitris Aragiorgis | |
58 | af5ded08 | Dimitris Aragiorgis | exit 0 |