VirtualBoxのマシン(Ubuntu)に原始的なやり方で固定IPを割り当てる
"漫画でわかるLinux シス管系女子3" の1章で原始的(?)な固定IPの割り当て方法が紹介されていた。具体的にはUbuntuの/etc/network/interfaces
を編集するやり方。
ネットワークの基本的な知識が確かめられるので、経験しておくのもいいと思いVirtualBoxで試してみた。(漫画に出てくる色んな技術を試すのに、コンテナより仮想マシンの方がいいのかなという割とふわっとした考え)
Ubuntuのバージョンは18.04。
/etc/network/interfacesを開いてみる
まだループバックアドレスしか定義されていない。このファイルに固定IPアドレスの情報を追加していく。
# interfaces(5) file used by ifup(8) and ifdown(8) auto lo iface lo inet loopback
インターフェースのIPアドレスを調べる
eth0
がなくて、代わりにenp0s3
が存在していることに気づく。
調べたところenp0s3
というのはsystemdが導入したもので、ハードウェアのコネクター(?)の名前らしい。従来のネーミングだと不都合があるっぽい。
https://askubuntu.com/a/704121
$ ip a #... 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:15:b1:d2 brd ff:ff:ff:ff:ff:ff inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic noprefixroute enp0s3 valid_lft 86276sec preferred_lft 86276sec inet6 fe80::893:8d2b:c542:f28b/64 scope link noprefixroute valid_lft forever preferred_lft forever
動的IPアドレスで、値は10.0.2.15
。サブネットマスクは255.255.255.0
。
ちなみになぜ192.168.1.15
のような感じではなく10.0.2.15
なのかを調べてみたら、VirtualBoxが10.0.2.x
のプライベートネットワークを作るからだった。(これは昔仕事でVirtualBoxを使っていた時に目にした記憶がある)
virtualbox - Trying to SSH to local VM Ubuntu with Putty - Unix & Linux Stack Exchange
ゲートウェイのIPアドレスを調べる
$ ip r # default via 10.0.2.2 dev enp0s3 onlink # 10.0.2.0/24 dev enp0s3 proto kernel scope link src 10.0.2.20 # 169.254.0.0/16 dev enp0s3 scope link metric 1000
/etc/network/interfacesを編集する
こんな感じで書く。
# interfaces(5) file used by ifup(8) and ifdown(8) auto lo iface lo inet loopback auto enp0s3 iface enp0s3 inet static address 10.0.2.20 netmask 255.255.255.0 gateway 10.0.2.2
設定したインターフェースを起動する
$ sudo ifup enp0s3
意図通りに値が更新されている。10.0.2.15
→ 10.0.2.20
$ ip a #... 2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 08:00:27:15:b1:d2 brd ff:ff:ff:ff:ff:ff inet 10.0.2.20/24 brd 10.0.2.255 scope global enp0s3 valid_lft forever preferred_lft forever inet6 fe80::a00:27ff:fe15:b1d2/64 scope link valid_lft forever preferred_lft forever
ホストからsshできるか検証
VirtualBoxがつくるプライベートネットワークにホストからアクセスできないのでまずポートフォワーディングする。
host:~$ ssh -p 3022 take@127.0.0.1 take@take-VirtualBox:~$ # VirtualBox machine
sshすることができたので、きちんと設定できてた模様。