mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
bug 6981: restore ipassoc behaviour
This commit is contained in:
parent
898990a11d
commit
542a6da0d7
@ -3,7 +3,7 @@
|
||||
# ipassoc.sh -- associate/disassociate a public ip with an instance
|
||||
#
|
||||
#
|
||||
# @VERSION@
|
||||
# 2.1.4
|
||||
usage() {
|
||||
printf "Usage:\n %s -A -i <domR eth1 ip> -l <public-ip-address> -r <domr name> [-f] \n" $(basename $0) >&2
|
||||
printf " %s -D -i <domR eth1 ip> -l <public-ip-address> -r <domr name> [-f] \n" $(basename $0) >&2
|
||||
@ -70,10 +70,11 @@ add_one_to_one_nat_entry() {
|
||||
add_nat_entry() {
|
||||
local dRIp=$1
|
||||
local pubIp=$2
|
||||
local ipNoMask=$(echo $2 | awk -F'/' '{print $1}')
|
||||
ssh -p 3922 -o StrictHostKeyChecking=no -i $cert root@$dRIp "\
|
||||
ip addr add dev $correctVif $pubIp
|
||||
iptables -t nat -I POSTROUTING -j SNAT -o $correctVif --to-source $pubIp ;
|
||||
arping -c 3 -I $correctVif -A -U -s $pubIp $pubIp;
|
||||
iptables -t nat -I POSTROUTING -j SNAT -o $correctVif --to-source $ipNoMask ;
|
||||
/sbin/arping -c 3 -I $correctVif -A -U -s $ipNoMask $ipNoMask;
|
||||
"
|
||||
if [ $? -gt 0 -a $? -ne 2 ]
|
||||
then
|
||||
@ -87,9 +88,12 @@ add_nat_entry() {
|
||||
del_nat_entry() {
|
||||
local dRIp=$1
|
||||
local pubIp=$2
|
||||
local ipNoMask=$(echo $2 | awk -F'/' '{print $1}')
|
||||
local mask=$(echo $2 | awk -F'/' '{print $2}')
|
||||
[ "$mask" == "" ] && mask="32"
|
||||
ssh -p 3922 -o StrictHostKeyChecking=no -i $cert root@$dRIp "\
|
||||
iptables -t nat -D POSTROUTING -j SNAT -o $correctVif --to-source $pubIp;
|
||||
ip addr del dev $correctVif $pubIp/32
|
||||
iptables -t nat -D POSTROUTING -j SNAT -o $correctVif --to-source $ipNoMask;
|
||||
ip addr del dev $correctVif "$ipNoMask/$mask"
|
||||
"
|
||||
|
||||
if [ $? -gt 0 -a $? -ne 2 ]
|
||||
@ -104,10 +108,11 @@ del_nat_entry() {
|
||||
add_an_ip () {
|
||||
local dRIp=$1
|
||||
local pubIp=$2
|
||||
local ipNoMask=$(echo $2 | awk -F'/' '{print $1}')
|
||||
ssh -p 3922 -o StrictHostKeyChecking=no -i $cert root@$dRIp "\
|
||||
ifconfig $correctVif up;
|
||||
ip addr add dev $correctVif $pubIp ;
|
||||
arping -c 3 -I $correctVif -A -U -s $pubIp $pubIp;
|
||||
/sbin/arping -c 3 -I $correctVif -A -U -s $ipNoMask $ipNoMask;
|
||||
"
|
||||
return $?
|
||||
}
|
||||
@ -115,8 +120,11 @@ add_an_ip () {
|
||||
remove_an_ip () {
|
||||
local dRIp=$1
|
||||
local pubIp=$2
|
||||
local ipNoMask=$(echo $2 | awk -F'/' '{print $1}')
|
||||
local mask=$(echo $2 | awk -F'/' '{print $2}')
|
||||
[ "$mask" == "" ] && mask="32"
|
||||
ssh -p 3922 -o StrictHostKeyChecking=no -i $cert root@$dRIp "\
|
||||
ip addr del dev $correctVif $pubIp/32
|
||||
ip addr del dev $correctVif "$ipNoMask/$mask"
|
||||
"
|
||||
if [ $? -gt 0 -a $? -ne 2 ]
|
||||
then
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user