【簡単】IPアドレスを固定する方法【Ubuntu 16.04】

どうもみなさんロックです.先日身バレ覚悟でとある大学へのssh接続方法を解説したんですがその中でIPアドレスを固定する方法というのを書いたわけです.
ただ,この方法昔の私も手っ取り早く知りたかったなーという経験があったのでその部分だけ記事化したという感じです.それではどうぞ.

IPアドレスを固定する

結論から言えばUbuntu 16.04では/etc/network/interfacesを編集すれば良いです.以下のように設定する感じですね.
# interfaces(5) file used by ifup(8) and ifdown(8)
source /etc/network/interfaces.d/*

auto lo
iface lo inet loopback

auto eno1
iface eno1 inet static
address 192.168.0.45
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 192.168.0.1
ただし,自分が接続しているLANの名前やゲートウェイ,DNSサーバーなどなどを調べる必要があるので一緒に設定していきましょう.

PC側のLAN名とネットマスクを設定する

ifconfigコマンドを実行してみましょう.おそらく次のような画面が出てくると思います.
eno1      Link encap:Ethernet  HWaddr 54:bf:64:9b:6f:bf  
          inet addr:192.168.0.29  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::56bf:64ff:fe9b:6fbf/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:9545701 errors:0 dropped:1546195 overruns:0 frame:0
          TX packets:4572793 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:9227321751 (9.2 GB)  TX bytes:567548314 (567.5 MB)
          Interrupt:16 Memory:91180000-911a0000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:854747 errors:0 dropped:0 overruns:0 frame:0
          TX packets:854747 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1096263589 (1.0 GB)  TX bytes:1096263589 (1.0 GB)
ここでloというのはloopbackというものですので必要ですが実際に接続しているLANケーブルそのものではありません.
今回の場合ですとeno1というものが接続しているLANにあたりますのでこれを元に/etc/network/interfacesを編集していきます.ちなみにこのLANの名前は環境によって変わりますので自分のものと異なっていても気にしないでください.
また,ネットマスクは255.255.255.0ですね.[Mask]の部分がネットマスクとなります.ちなみに[inet addr]が現在のローカルIPとなります.
ここまでで以下のように編集できます.
# interfaces(5) file used by ifup(8) and ifdown(8)
source /etc/network/interfaces.d/*

auto lo
iface lo inet loopback

auto eno1 # 調べた名前
iface eno1 inet static
address 192.168.0.45 # 好きなIPアドレス
netmask 255.255.255.0 # 調べたネットマスク

ゲートウェイとDNSネームサーバーを設定する

ip route showコマンドを実行してみましょう.
以下のように表示されます.
default via 192.168.0.1 dev eno1 onlink 
169.254.0.0/16 dev eno1  scope link  metric 1000 
172.17.0.0/16 dev docker0  proto kernel  scope link  src 172.17.0.1 linkdown 
192.168.0.0/24 dev eno1  proto kernel  scope link  src 192.168.0.39
この[default via]の部分の次がゲートウェイのアドレスとなります.基本的にルーターのアドレスと同じのはずですね.
また,DNSネームサーバーに関しても基本的にゲートウェイと同じアドレスで大丈夫です.
また,この2つに関してはルーターの設定画面に行き,DHCPサーバー設定などをみても大丈夫です.ここに書いてあるゲートウェイ,プライマリDNSの部分が今回設定するゲートウェイとDNSネームサーバーに対応します.
最後に好きなエディタで/etc/network/interfacesを以下のように編集すれば大丈夫です.
# interfaces(5) file used by ifup(8) and ifdown(8)
source /etc/network/interfaces.d/*

auto lo
iface lo inet loopback

auto eno1
iface eno1 inet static
address 192.168.0.45
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 192.168.0.1

再起動とIP固定

/etc/network/interfacesを書き換えた後ネットワークを再起動すると反映されます.ただし,以下のコマンドを打ってやらないとダメかもしれません.
sudo ip addr flush dev eno1
sudo systemctl restart networking
もしdhcpから固定IPに変更した際は以下のコマンドを打ってから再起動しましょう.
sudo kill `cat /run/dhclient.eno1.pid`
sudo rm /run/dhclient.eeno1.pid
この後sudo rebootで再起動しましょう.再起動後にifconfigを実行すると設定が変更されているはず.
参考サイト:[Ubuntu]ローカルIPアドレスを固定にする(18.04/16.04) https://jyn.jp/ubuntu-localip-static/

さいごに

というわけで今回はローカルIPを固定する方法について解説しました!最後まで読んでくださってありがとうございました!

0 件のコメント :

コメントを投稿