/var/www/yatta47.log

/var/www/yatta47.log

やったのログ置場です。スクラップみたいな短編が多いかと。

VirtualBox上のCoreOSに固定IPを設定する

VirtualBox上にCoreOSをインストールして、TeraTermからSSHで接続して使っているのですが、DHCPで適当にふるとIPがコロコロ変わる場合があるので固定IPにしようと思います。

前提

作成したネットワークIFは2つ。

f:id:yatta47:20170403213235j:plain

f:id:yatta47:20170403213244j:plain

一つはNAT、もう一つはホストオンリーアダプタです。

このホストオンリーアダプタのほうを固定IPにして、sshで接続できるようにしようと思います。

 

やり方

既存設定の確認

DHCPで振られたIPのままでとりあえずアクセスして、 route -n でルートを確認。

yatta47@coreos-dev ~ $ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.2.2        0.0.0.0         UG    1024   0        0 enp0s3
10.0.2.0        0.0.0.0         255.255.255.0   U     0      0        0 enp0s3
10.0.2.2        0.0.0.0         255.255.255.255 UH    1024   0        0 enp0s3
192.168.99.0    0.0.0.0         255.255.255.0   U     0      0        0 enp0s8
yatta47@coreos-dev ~ $

enp0s3がNATに設定したアダプタ、enp0s8がホストオンリーアダプタ。

GatewayはNATのインタフェースを使っている様子なので、それを設定します。

ifconfigで詳細を見てもいいかと思います。

 

設定ファイルを作成

個人的にはまったのがこの設定。特にGatewayの設定。どこを設定すればいいのかあいまいだったが、よくよく考えれば当然という結果に。

cloud-config.ymlででも設定できるそうですが、今回はファイルを使って設定しました。

/etc/systemd/networkstatic.network というファイルを作成して、以下の内容を記載します。

[Match]
Name=enp0s8

[Network]
Address=192.168.99.101/24
Gateway=10.0.2.2
DNS=8.8.8.8

固定IPにしたいインタフェースの名前、アドレスはサブネットも含めた形で記載。(上記例では192.168.99.101に設定)

GatewayはNATインタフェースのGatewayを設定。

設定したらreboot。

これで固定IPにすることができました。

 

最後に

微妙にはまった。今回はファイルを作成したけど、cloud-config.ymlのやり方もどこかで試したいな~。

最近、このルーティングの本を読んでいます。

ルーティング&スイッチング標準ハンドブック 一番大切な知識と技術が身につく

何となくで過ごしてきたBGPの仕組みとか明確に書いてあって非常にいい買い物だった。

 

参考にしたサイトはこちら。

http://qiita.com/s_ikezawa/items/372db5a253a375b7a6c1
CoreOSをVirtualBoxに手動でセットアップしたらめんどくさかった - ' OR title = 'tasuten''s blog' --