最近因为学习Puppet,用虚拟机装了个CentOS,使用的NAT的网络模式,为了防止再次启动系统的时候网络IP发生变化,因此设置静态IP和DNS。
由于CentOS是最小化安装,没有ifconfig
命令,因此可以采用ip
命令查看。
查看IP分配情况:
<code class="hljs vala has-numbering" style="padding: 0px; margin: 0px; display: block; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-preprocessor" style="padding: 0px; margin: 0px; color: rgb(68, 68, 68); box-sizing: border-box;"># ip addr</span></code>
发现里边只有一个LOOPBACK的127.0.0.1的回环地址,原来CentOS刚安装后默认是不启动网络连接的。 设置IP和DNS主要在下面的配置文件中修改:
<code class="hljs vala has-numbering" style="padding: 0px; margin: 0px; display: block; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-preprocessor" style="padding: 0px; margin: 0px; color: rgb(68, 68, 68); box-sizing: border-box;"># vi /etc/sysconfig/network-scripts/ifcfg-*</span></code>
由于最小化安装没有vim,所以使用vi。具体的配置文件需要到network-scripts目录下看,通常是以ifcfg-
开头的,比如ifcfg-eth0
,我的是ifcfg-eno16777736
,对于我这种洁癖来说回头非得改了这个乱七八糟的名字,另一个ifcfg-lo
就是LOOPBACK网络咯。
<code class="hljs vala has-numbering" style="padding: 0px; margin: 0px; display: block; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-preprocessor" style="padding: 0px; margin: 0px; color: rgb(68, 68, 68); box-sizing: border-box;"># vi /etc/sysconfig/network-scripts/ifcfg-[tab两下]</span> ifcfg-eno16777736 ifcfg-lo</code>
1. 编辑ifcfg-eno16777736
:
<code class="hljs cs has-numbering" style="padding: 0px; margin: 0px; display: block; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;">BOOTPROTO=<span class="hljs-keyword" style="padding: 0px; margin: 0px; color: rgb(0, 0, 136); box-sizing: border-box;">static</span> <span class="hljs-preprocessor" style="padding: 0px; margin: 0px; color: rgb(68, 68, 68); box-sizing: border-box;">#dhcp改为static(修改)</span> ONBOOT=yes <span class="hljs-preprocessor" style="padding: 0px; margin: 0px; color: rgb(68, 68, 68); box-sizing: border-box;">#开机启用本配置,一般在最后一行(修改)</span> IPADDR=<span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">192.168</span><span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">.1</span><span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">.204</span> <span class="hljs-preprocessor" style="padding: 0px; margin: 0px; color: rgb(68, 68, 68); box-sizing: border-box;">#静态IP(增加)</span> GATEWAY=<span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">192.168</span><span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">.1</span><span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">.2</span> <span class="hljs-preprocessor" style="padding: 0px; margin: 0px; color: rgb(68, 68, 68); box-sizing: border-box;">#默认网关,虚拟机安装的话,通常是2,也就是VMnet8的网关设置(增加)</span> NETMASK=<span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">255.255</span><span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">.255</span><span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">.0</span> <span class="hljs-preprocessor" style="padding: 0px; margin: 0px; color: rgb(68, 68, 68); box-sizing: border-box;">#子网掩码(增加)</span> DNS1=<span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">192.168</span><span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">.1</span><span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">.2</span> <span class="hljs-preprocessor" style="padding: 0px; margin: 0px; color: rgb(68, 68, 68); box-sizing: border-box;">#DNS 配置,虚拟机安装的话,DNS就网关就行,多个DNS网址的话再增加(增加)</span></code>
2. 重启网络服务
<code class="hljs vala has-numbering" style="padding: 0px; margin: 0px; display: block; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-preprocessor" style="padding: 0px; margin: 0px; color: rgb(68, 68, 68); box-sizing: border-box;"># service network restart</span></code>
3. 检查网络
<code class="hljs livecodeserver has-numbering" style="padding: 0px; margin: 0px; display: block; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-comment" style="padding: 0px; margin: 0px; color: rgb(136, 0, 0); box-sizing: border-box;"># ip addr</span> <span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">1</span>: lo: <LOOPBACK,UP,LOWER_UP> mtu <span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">65536</span> qdisc noqueue state UNKNOWN link/loopback <span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">00</span>:<span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">00</span>:<span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">00</span>:<span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">00</span>:<span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">00</span>:<span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">00</span> brd <span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">00</span>:<span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">00</span>:<span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">00</span>:<span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">00</span>:<span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">00</span>:<span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">00</span> inet <span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">127.0</span><span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">.0</span><span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">.1</span>/<span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">8</span> scope host lo valid_lft <span class="hljs-keyword" style="padding: 0px; margin: 0px; color: rgb(0, 0, 136); box-sizing: border-box;">forever</span> preferred_lft <span class="hljs-keyword" style="padding: 0px; margin: 0px; color: rgb(0, 0, 136); box-sizing: border-box;">forever</span> inet6 ::<span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">1</span>/<span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">128</span> scope host valid_lft <span class="hljs-keyword" style="padding: 0px; margin: 0px; color: rgb(0, 0, 136); box-sizing: border-box;">forever</span> preferred_lft <span class="hljs-keyword" style="padding: 0px; margin: 0px; color: rgb(0, 0, 136); box-sizing: border-box;">forever</span> <span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">2</span>: eno16777736: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu <span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">1500</span> qdisc pfifo_fast state UP qlen <span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">1000</span> link/ether <span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">00</span>:<span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">0</span>c:<span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">29</span>:<span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">58</span>:<span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">14</span>:ee brd ff:ff:ff:ff:ff:ff inet <span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">192.168</span><span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">.1</span><span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">.204</span>/<span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">24</span> brd <span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">192.168</span><span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">.1</span><span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">.255</span> scope <span class="hljs-built_in" style="padding: 0px; margin: 0px; color: rgb(102, 0, 102); box-sizing: border-box;">global</span> eno16777736 valid_lft <span class="hljs-keyword" style="padding: 0px; margin: 0px; color: rgb(0, 0, 136); box-sizing: border-box;">forever</span> preferred_lft <span class="hljs-keyword" style="padding: 0px; margin: 0px; color: rgb(0, 0, 136); box-sizing: border-box;">forever</span> inet6 fe80::<span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">20</span>c:<span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">29</span>ff:fe58:<span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">14</span>ee/<span class="hljs-number" style="padding: 0px; margin: 0px; color: rgb(0, 102, 102); box-sizing: border-box;">64</span> scope link valid_lft <span class="hljs-keyword" style="padding: 0px; margin: 0px; color: rgb(0, 0, 136); box-sizing: border-box;">forever</span> preferred_lft <span class="hljs-keyword" style="padding: 0px; margin: 0px; color: rgb(0, 0, 136); box-sizing: border-box;">forever</span></code>
可以看到,eno16777736这个网络就起来了。 随便找个域名ping一下测试DNS是否OK:
<code class="hljs vala has-numbering" style="padding: 0px; margin: 0px; display: block; color: inherit; box-sizing: border-box; font-family: 'Source Code Pro', monospace;font-size:undefined; white-space: pre; border-radius: 0px; word-wrap: normal; background: transparent;"><span class="hljs-preprocessor" style="padding: 0px; margin: 0px; color: rgb(68, 68, 68); box-sizing: border-box;"># ping www.baidu.com</span></code>