Gentooロードバランサーとgentoo実サーバーの間にldirectord/heartbeatHAセットアップがあります。ホストの制限により、ipipトンネルを介して負荷分散が機能しています。
Gentoo実サーバーには次の設定があります。
(最後に追加...)/ etc/conf.d/net
iptunnel_tunl0="mode ipip"
config_tunl0=(
"xxx.xxx.xxx.xxx netmask 255.255.255.255"
"yyy.yyy.yyy.yyy netmask 255.255.255.255"
"zzz.zzz.zzz.zzz netmask 255.255.255.255"
)
それらのxxx/yyy/zzzipsは私の共有IPアドレスです。
'ip address show'はこれを生成します:
4: tunl0: <NOARP,UP,LOWER_UP> mtu 1480 qdisc noqueue state UNKNOWN
link/ipip 0.0.0.0 brd 0.0.0.0
inet xxx.xxx.xxx.xxx/32 scope global tunl0
inet yyy.yyy.yyy.yyy/32 scope global tunl0:1
inet zzz.zzz.zzz.zzz/32 scope global tunl0:2
これはすべて正常に機能します。
私は今、Ubuntu実サーバーへのipipトンネリングをセットアップしようとしています。
次を使用してインターフェイスを表示できます。
ip tunnel add tunl0 mode ipip
次に、これを/ etc/network/interfacesに追加して、IPアドレスを追加します。
auto tunl0
iface tunl0 inet static
address xxx.xxx.xxx.xxx
netmask 255.255.255.255
次に、「ipaddrshow」コマンドはgentooマシンと同じように表示されます
問題は、ip tunnel add ..が再起動後も持続しないため、次にネットワークがロードしようとしたときにこれを取得することです。
# /etc/init.d/networking restart
* Reconfiguring network interfaces...
ssh stop/waiting
ssh start/running, process 2442
ssh stop/waiting
ssh start/running, process 2482
SIOCSIFADDR: No such device
tunl0: ERROR while getting interface flags: No such device
SIOCSIFNETMASK: No such device
tunl0: ERROR while getting interface flags: No such device
Failed to bring up tunl0.
...done.
Gentooで行ったのと同じ方法でトンネルインターフェイスを永続化するにはどうすればよいですか?
これを処理する方法は2つあります。必要なのが1つの単純なコマンドだけである場合、最も簡単な方法は、pre-up
およびpre-down
の行を/ etc/network/interfacesのエントリに追加することです。
auto tunl0
iface tunl0 inet static
pre-up ip tunnel add tunl0 mode ipip
post-down ip tunnel del tunl0 mode ipip
address xxx.xxx.xxx.xxx
netmask 255.255.255.255
または、もっと複雑なことをしたい場合は、ネットワークを起動する前とシャットダウンした後に実行されるスクリプトを/etc/network/if-pre-up.d/
と/etc/network/if-post-down.d/
にそれぞれ追加できます。
物事は5年で長い道のりを歩んできました。行は(/ etc/network/interfaces)に属します
見る man 5 intefaces
詳細については。
# Choose your own name for your tunnel interface (example uses 'mytun')
auto mytun
iface mytun inet tunnel
mode ipip
# Best I can tell, value of 'netmask' does nothing but is required:
netmask 255.255.255.255
# Local address (inside tunnel) (required)
address 192.168.1.1
# dstaddr = remote address (inside tunnel)
dstaddr 192.168.2.2
# local = address of tunnel interface
local x.x.x.x
# endpoint = destination ip applied to ipip encapsulated packets (required)
endpoint y.y.y.y
# You may want to also consider using these two options
# mtu 1480
# ttl 63