问题
工作当中需要配置静态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程序员。哎,运维绝壁是互联网行业最被低估的岗位,水太深。