网卡配置

在本人现用的虚拟机系统里面会涉及到一件事,那就是修改ip,没事敲命令有事直接该文件0.0。所以呢今天来说说这个网卡的基本配置问题。

首先介绍一个目录/etc/sysconfig/network-scripts/

上面所说的目录下所有文件,都是专门配置关于网络的。今天就提及一种文件就是ifcfg-*,ifcfg开头后面跟上设备名是关于设置网卡的文件可以cat一个看看。

[root@localhost ~]# cd /etc/sysconfig/network-scripts/   -->该目录下的文件自己觉得会经常用
[root@localhost network-scripts]# ls
ifcfg-ens33   ifdown-post      ifup-eth     ifup-sit
ifcfg-lo      ifdown-ppp       ifup-ib      ifup-Team
[root@localhost network-scripts]# cat ifcfg-ens33 
TYPE=Ethernet          -->表示类型(以太网)    
BOOTPROTO=dhcp         -->开启dhcp功能(自动获取ip)
DEFROUTE=yes           -->默认路由
PEERDNS=yes            -->自动获取DNS
PEERROUTES=yes         -->自动获取路由 
IPV6INIT=yes              -->是否开启IPV6  (开启)
IPV6_AUTOCONF=yes            下面IPV6开头都是关于IPv6的设置不用6的地址可以不要
IPV6_DEFROUTE=yes        
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
HWADDR=00:0C:29:02:11:C5            -->网卡的MAC得知
NAM=ens33
DEVICE=ens33                        -->设备名
ONBOOT=yes                          -->开机自动启动

好的,上面代码里差不多每项的作用都已经加在后面了。

现在才来说说一个配置文件的精髓!!!

第一,DEVICE

       这个表示设备名,其他都可以不要但是这个不要会产生什么后果呢?那就是没后果,连设备名都没有找什么网卡,配置什么文件。此处应该有黑人问号???

第二,BOOTPROTO

        这个是设置是否开启dhcp功能,开启后跟dhcp。关闭后跟static/none两个选项一样的效果。

好,说到这里重点来了。那就是。。。。设置完了!!!

这就是一个简单的网卡配置文件了,(前提有连接的DHCP服务器)可怕的dhcp可以帮你解决大部分问题,比如配置IP啊,DNS啊,什么路由啊什么的。。。

好好好不开玩笑,说说其他的。

每当开机时系统都会加载当前目录下的文件而能不能加载成功那就需要一个选项,ONBOOT选项为YES是是开机自启(自己就启动了)若为NO那就是禁用了呗,你用ifconfig可能加载不出来网卡了就。

HWARRD,我的虚拟机有的时候获取不到IP。当时我可是费尽心思查了多少百度google,没想到竟然是虚拟机给的网卡MAC地址和文件里的MAC不一样。。。。。心哇凉哇凉的啊每一个网卡都有一个标识号也就是MAC地址HWARRD就是来读取MAC的(也可以手动修改)。

讲了关于DHCP配置(虽然只有开启和关闭吧0.0)那就来说说关闭时候怎么手动设置Ip。

DEVICE=ens33
TYPE=Ethernet
IPADDR=172.x.x.x    (指定IP)当开启dhcp该项无效
PREFIX=16 		(子网掩码16位)
GATEWAY=172.17.0.1	(网关)
DNS1=8.8.8.8		(域名解析DNS地址)可以设置多个
HWADDR=xx:xx:xx:xx:xx:xx(网卡MAC地址)

以上的XXX纯属手打,若自己编辑该文件,按照符合自己的情况来设置即可,可别打上XXX了。。。这样就配置好了一个简单的网卡配置文件了。


文件说完了,命令还没提及呢

首先看看ifconfig/ip addr命令能看到些什么玩意儿(只列出第一块网卡)

[root@centos6 ~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:C3:4F:99  
          inet addr:192.168.192.128  Bcast:192.168.192.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fec3:4f99/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:71 errors:0 dropped:0 overruns:0 frame:0
          TX packets:44 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:11805 (11.5 KiB)  TX bytes:8575 (8.3 KiB)

命令行指定特定网咖关闭和开启,关闭ens38网卡/开启ifconfig ens38 up(逻辑上的关闭)

还有一种命令ifdown ens38/ifup ens38这种只是删除IP网卡还能加载没有IP

[root@localhost ~]# ifconfig ens38 down
[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.250.183  netmask 255.255.0.0  broadcast 172.17.255.255
        inet6 fe80::20c:29ff:fe02:11c5  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:02:11:c5  txqueuelen 1000  (Ethernet)
        RX packets 277693  bytes 25323530 (24.1 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 21289  bytes 14288370 (13.6 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0

命令行修改ip(修改了ens38的IP  立即生效,但是下次开机还是加载文件所以重启就是失效了)

[root@localhost ~]# ifconfig ens38 192.168.1.2/16
[root@localhost ~]# 
[root@localhost ~]# 
[root@localhost ~]# 
[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:02:11:c5 brd ff:ff:ff:ff:ff:ff
    inet 172.17.250.183/16 brd 172.17.255.255 scope global dynamic ens33
       valid_lft 52030sec preferred_lft 52030sec
    inet6 fe80::20c:29ff:fe02:11c5/64 scope link 
       valid_lft forever preferred_lft forever
3: ens38: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 00:0c:29:02:11:cf brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.2/16 brd 192.168.255.255 scope global ens38
       valid_lft forever preferred_lft forever
    inet6 fe80::4175:41a5:2d18:6f9b/64 scope link

很多生产环境要求网卡名字要统一,在这里稍微提及一下怎么修改网卡名称也就是所谓的ens33/eth0这一类的东西。有个文件是/etc/udev/rules.d/70-persistent-ipoib.rules 里面管理者一些网卡的配置,咱们来一起看看。

[root@localhost ~]# vim /etc/udev/rules.d/70-persistent-ipoib.rules 
# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:c3:4f:99",
 ATTR{type}=="1", KERNEL=="eth*", NAME="0"

# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:c3:4f:a3",
 ATTR{type}=="1", KERNEL=="eth*", NAME="1"

配置完就可以service network restart重启网络服务。

注意有些修改开机失效,需要写在脚本里。