diff options
author | Alexander Sulfrian <alexander@sulfrian.net> | 2013-10-01 20:50:04 +0200 |
---|---|---|
committer | Alexander Sulfrian <alexander@sulfrian.net> | 2013-10-01 20:50:04 +0200 |
commit | 7875e0f5d6f1939ab87c5b98a20b55bd06f2dada (patch) | |
tree | a73b5cdd03ef013b75069afe07d1b325960ab305 | |
parent | 418822cd51c76cdb088960604db53c7be73fbf78 (diff) | |
download | util-vserver-netns-7875e0f5d6f1939ab87c5b98a20b55bd06f2dada.tar.gz util-vserver-netns-7875e0f5d6f1939ab87c5b98a20b55bd06f2dada.tar.bz2 util-vserver-netns-7875e0f5d6f1939ab87c5b98a20b55bd06f2dada.zip |
vserver.functions: add magically localhost for netns
-rw-r--r-- | vserver.functions | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/vserver.functions b/vserver.functions index a75d717..8c25f74 100644 --- a/vserver.functions +++ b/vserver.functions @@ -47,6 +47,14 @@ function _netnsProcessSingleGateway() { _addInterfaceCmd IP_ROUTE default via "$gw" dev "$iface" } +function _netnsAddLocalhost() { + if [ -r "${1}/nflags" ]; then + if grep -q '^~LBACK_REMAP$' "${1}/nflags"; then + INTERFACES=( "${INTERFACES[@]}" "127.0.0.1/8" "::1/128" ) + fi + fi +} + function _netnsFilterNetnsUmount() { local args=( "$@" ) @@ -93,13 +101,18 @@ function _generateInterfaceOptions() { ret=$? # add commands for default route + local netns=0 for net in "$VSERVER_DIR/netns/"*; do test -d "$net" || continue test ! -e "${net}/disabled" || continue _netnsProcessSingleGateway "$net" + netns=1 done + # if using netns, automatically add localhost + [ "$netns" != "0" ] && _netnsAddLocalhost "$VSERVER_DIR" + return $ret } |