アプリケーションインスタンスに独自のIPを付与しますか?非常に軽いコンテナ化?

アプリケーションインスタンスに独自のIPを付与しますか?非常に軽いコンテナ化?

2年ほど前に方法が書かれたメモを受けましたが、今はそのメモや方法が見つかりません。誰でもこれを達成する最も簡単な方法を知っていますか?

ジェップ

答え1

始めるのに役立つ新しいネットワーク名前空間を作成し、xtermその中から始めて、その中のすべてがその名前空間で発生するようにする簡単なスクリプトがあります。また、veth-pairを介してネームスペースをデフォルトのネームスペースに関連付けます。

すべての veth エンドポイントをブリッジのデフォルトの名前空間に配置し、マルチキャストが簡単になり(または必要に応じてマルチキャストルーターを追加し)、xterm でアプリケーションを実行(またはスクリプトを変更)して、目的の効果が得られたことを確認します。 。your_useridインスタンスを実行する必要があるユーザーIDで置き換える必要があります。

#!/bin/bash

# Setup network namespace with veth pair, start xterm in it

# nsterm ns0 veth0 10.0.0 yellow 24
#

if [[ $EUID -ne 0 ]]; then
   echo "This script must be run as root" 1>&2
   exit 1
fi

NS=${1:-ns0}
DEV=${2:-veth0}
DEV_A=${DEV}a
DEV_B=${DEV}b
ADDR=${3-:10.0.0}
ADDR_A=${ADDR}.254
ADDR_B=${ADDR}.1
MASK=${5:-24}
COL=${4:-yellow}

# echo ns=$NS dev=$DEV col=$COL mask=$MASK

ip netns add $NS
ip link add $DEV_A type veth peer name $DEV_B netns $NS
ip addr add $ADDR_A/$MASK dev $DEV_A
ip link set ${DEV}a up
ip netns exec $NS ip addr add $ADDR_B/$MASK dev $DEV_B
ip netns exec $NS ip link set ${DEV}b up
ip netns exec $NS ip route add default via $ADDR_A dev $DEV_B
ip netns exec $NS su -c "xterm -bg $COL &" your_userid

答え2

ああ、答えはそうでした。地獄火。ネットワークネームスペースよりも扱いやすいです。

関連情報