git://git.onelab.eu
/
util-vserver-pl.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add isolated_loopback support in vservers at creation-time.
[util-vserver-pl.git]
/
scripts
/
vuseradd
diff --git
a/scripts/vuseradd
b/scripts/vuseradd
index
c49fdd4
..
f64d62d
100755
(executable)
--- a/
scripts/vuseradd
+++ b/
scripts/vuseradd
@@
-39,11
+39,15
@@
usage()
}
# Get options
}
# Get options
-while getopts "t:" opt ; do
+ISOLATE=false
+while getopts "it:" opt ; do
case $opt in
t)
TYPE="$OPTARG"
;;
case $opt in
t)
TYPE="$OPTARG"
;;
+ i)
+ ISOLATE=true
+ ;;
*)
usage
;;
*)
usage
;;
@@
-77,10
+81,17
@@
if [ ! -d $__CONFDIR/$NAME ] ; then
HAS_VSERVERDIR=0
fi
HAS_VSERVERDIR=0
fi
- $_VSERVER $NAME build -m skeleton --context $USERID \
+ if [ "$ISOLATE" = "true" ] ; then
+ $_VSERVER $NAME build -m skeleton --context $USERID \
+ --interface nodev:`hostname -i` \
+ --flags persistent,~info_init
+ else
+ $_VSERVER $NAME build -m skeleton --context $USERID \
--interface nodev:`hostname -i` \
--interface nodev:`hostname -i` \
-
--interface nodev:127.0.0.1 \
+ --interface nodev:127.0.0.1 \
--flags persistent,~info_init
--flags persistent,~info_init
+ fi
+
RETVAL=$?
DIR=$__CONFDIR/$NAME
if [ $RETVAL -ne 0 ] ; then
RETVAL=$?
DIR=$__CONFDIR/$NAME
if [ $RETVAL -ne 0 ] ; then
@@
-91,7
+102,11
@@
if [ ! -d $__CONFDIR/$NAME ] ; then
echo default > $DIR/apps/init/mark
# Set persistent for the network context
echo default > $DIR/apps/init/mark
# Set persistent for the network context
- echo persistent,lback_allow > $DIR/nflags
+ if [ "$ISOLATE" = "true" ]; then
+ echo persistent,lback_allow,hide_lback,lback_remap > $DIR/nflags
+ else
+ echo persistent,lback_allow > $DIR/nflags
+ fi
# Set default capabilities
echo "CAP_NET_RAW" > $DIR/bcapabilities
# Set default capabilities
echo "CAP_NET_RAW" > $DIR/bcapabilities