問題
工作當中需要配置靜態IP,我原來以為很簡單,隨便google了一下,于是照貓畫虎配置了一通,結果發現不起作用。原因主要有兩個:
- 系統差異。我使用的是debian系的mint,網上大多都是centos的配置。
- 方案過時,大部分資料都是5年前了。
教程
- 靜態IP配置:/etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.0.120
netmask 255.255.255.0
gateway 192.168.0.1
通過ifconfig命令可以查看netmask,nm-tool命令可以查看gateway。
- DNS配置:/etc/resolvconf/resolv.conf.d/base
nameserver 202.101.172.46
多說幾句,網上千篇一律的都是配置/etc/resolv.conf,顯然這是過時的,查看這個文件,發現有一句話:
DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
- 修改ifupdown
按理來說這一步是重啟網絡,但是你重啟后肯定無法上網,需要配置/etc/NetworkManager/NetworkManager.conf
[main]
plugins=ifupdown,keyfile,ofono
dns=dnsmasq
no-auto-default=40:8D:5C:01:8E:CC,
[ifupdown]
managed=true
將managed修改為true
- 重啟網絡:
** sudo service network-manager restart **
網上都是service networking restart或者service /etc/init.d/networking restart。
執行ifconfig命令看看是否生效,不行就再重啟一次。
- 單網卡綁定多個IP
網上的方案同樣不靠譜,可惜我自己也沒找到辦法,只能通過命令行臨時解決:
** sudo ifconfig eth0:0 192.168.0.121 broadcast 192.168.0.255 netmask 255.255.255.0 **
[mountain@king /etc/network]$ ifconfig
eth0 Link encap:Ethernet HWaddr 40:8d:5c:01:8e:cc
inet addr:192.168.0.120 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::428d:5cff:fe01:8ecc/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3492705 errors:0 dropped:0 overruns:0 frame:0
TX packets:4742489 errors:0 dropped:16 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3154609653 (3.1 GB) TX bytes:1715063760 (1.7 GB)
eth0:0 Link encap:Ethernet HWaddr 40:8d:5c:01:8e:cc
inet addr:192.168.0.121 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
總結
看似一個很簡單的問題,花了我一天的時間來解決,而且我自吹對linux的了解碾壓絕大部分java程序員。哎,運維絕壁是互聯網行業最被低估的崗位,水太深。