在centos中的最小安装是没有ifconfig,所以要使用ip addr命令,用法如下:

那么可以看到的上面的参数,一个是网卡名称,第二个是ip地址的信息

详细解析一下

ip address命令详解

ip address:用于管理ip地址

ip address命令格式说明:

Usage: ip address {add|change|replace} IFADDR dev IFNAME [ LIFETIME ]

[ CONFFLAG-LIST ]

ip address del IFADDR dev IFNAME [mngtmpaddr]

ip address {save|flush} [ dev IFNAME ] [ scope SCOPE-ID ]

[ to PREFIX ] [ FLAG-LIST ] [ label LABEL ] [up]

ip address [ show [ dev IFNAME ] [ scope SCOPE-ID ] [ master DEVICE ]

[ type TYPE ] [ to PREFIX ] [ FLAG-LIST ]

[ label LABEL ] [up] ]

ip address {showdump|restore}

IFADDR := PREFIX | ADDR peer PREFIX

[ broadcast ADDR ] [ anycast ADDR ]

[ label IFNAME ] [ scope SCOPE-ID ]

SCOPE-ID := [ host | link | global | NUMBER ]

FLAG-LIST := [ FLAG-LIST ] FLAG

FLAG := [ permanent | dynamic | secondary | primary |

[-]tentative | [-]deprecated | [-]dadfailed | temporary |

CONFFLAG-LIST ]

CONFFLAG-LIST := [ CONFFLAG-LIST ] CONFFLAG

CONFFLAG := [ home | nodad | mngtmpaddr | noprefixroute | autojoin ]

LIFETIME := [ valid_lft LFT ] [ preferred_lft LFT ]

LFT := forever | SECONDS

TYPE := { vlan | veth | vcan | dummy | ifb | macvlan | macvtap |

bridge | bond | ipoib | ip6tnl | ipip | sit | vxlan |

gre | gretap | ip6gre | ip6gretap | vti | nlmon |

bond_slave | ipvlan | geneve | bridge_slave | vrf | macsec }

ip address add

此命令用于新增ip地址

option:

dev IFNAME:要将地址添加到的设备的名称

local ADDRESS (default):ip地址,地址的格式取决于协议

peer ADDRESS:点对点接口的远程端点的地址。 同样,ADDRESS后面可以跟一个斜杠和一个十进制数,对网络前缀长度进行编码。 如果指定了对等地址,则本地地址不能具有前缀长度。 网络前缀与对等方而不是与本地地址相关联。

broadcast ADDRESS:接口上的广播地址。 可以使用特殊符号“ +”和“-”代替广播地址。 在这种情况下,广播地址是通过设置/重置接口前缀的主机位得出的。

label LABEL:每个地址都可以用标签字符串进行标记。为了保持与Linux-2.0网络别名的兼容性,此字符串必须与设备名称一致,或者必须以设备名称的前缀后跟冒号

scope SCOPE_VALUE:此地址有效的区域的范围。可用的作用域列在/etc/iproute2/rt_scopes文件中。预定义的范围值包括:

global:地址全局有效

site:地址是站点本地地址,即在该站点内有效

link:该地址是本地链接,即仅在此设备上有效

host:地址仅在此主机内有效

valid_lft LFT:此地址的有效生存期;请参阅RFC 4862第5.5.4节。当它过期时,该地址将被内核删除。默认为“永远”

preferred_lft LFT:该地址的首选生存时间; 请参阅RFC 4862的5.5.4节。到期后,该地址将不再用于新的传出连接。 默认为永远

home:(仅IPv6)将此地址指定为RFC 6275中定义的“本地地址”

mngtmpaddr:(仅IPv6)代表“隐私扩展”(RFC3041)使内核将以此地址创建的临时地址作为模板进行管理。 为了使它生效,必须将use_tempaddr sysctl设置设置为大于零的值。 给定地址的前缀长度必须为64。此标志允许在手动配置的网络中使用隐私扩展,就像无状态自动配置处于活动状态一样。

nodad: (仅限IPv6)添加此地址时不执行重复地址检测(RFC 4862)

noprefixroute:不要为添加的地址的网络前缀自动创建路由,并且不要在删除地址时搜索要删除的路由

ip address delete

此命令用于删除ip地址。与ip addr add的参数一致。设备名称是必需的参数。其余的是可选的。如果没有给出参数,则删除第一个地址。

ip address flush

此命令刷新根据某些条件选择的协议地址。此命令的参数与show相同,只是不支持类型选择器和主选择器

ip address show

option:

• dev IFNAME (default):设备名称

• scope SCOPE_VAL:仅列出具有此作用域的地址

• to PREFIX:仅列出与此前缀匹配的地址

• label PATTERN:仅列出标签与PATTERN相匹配的地址

• master DEVICE:仅列出从站到该主设备的接口

• type TYPE:只列出给定类型的接口

• up:仅列出正在运行的接口

• dynamic and permanent:(仅IPv6)仅列出由于无状态地址配置而安装的地址,或仅列出永久(非动态)地址

• tentative:(仅限IPv6)仅列出尚未通过重复地址检测的地址

• -tentative:(仅IPv6)仅列出当前不在重复地址检测过程中的地址

• deprecated:(仅限IPv6)仅列出不推荐使用的地址

• -deprecated:(仅IPv6)仅列出未弃用的地址

• dadfailed:(仅IPv6)仅列出未检测到重复地址的地址

• -dadfailed:(仅IPv6)仅列出未通过重复地址检测失败的地址

• temporary:(仅IPv6)仅列出临时地址

• primary and secondary:仅列出主要(或次要)地址

配置方法:

1.进入/etc/sysconfig/network-scripts/

cd /etc/sysconfig/network-scripts/

/etc是Linux里面的一个配置文件,里面包涵系统启动脚本。启动配置文件等等一些东西,

/network-scrip是一个网络配置文件

2.修改ifcfg-ens33文件

任何修改之前要记得备份,可以使用cp命令在当前文件夹下备份,将ifcfg-ens33备份到当前文件夹,并命名为ifcfg-e3.back(备份的名字要跟ifcfg-ens33不一样),如下:

cp ifcfg-ens33 ./ifcfg-e3.back

3.打开ifcfg-ens33文本文件,可以看到一下内容

      1 TYPE="Ethernet"       #网卡类型
      2 PROXY_METHOD="none"   #代理方式
      3 BROWSER_ONLY="no"     #只是浏览器
      4 BOOTPROTO="dhcp"      #DHCP 是动态获取IP地址协议,DHCP获取IP地址是有租约时间的,租约到 
                              #了就会重新获取一个IP地址,static:静态ip
      5 DEFROUTE="yes"        #默认路由
      6 IPV4_FAILURE_FATAL="no"  #是否开启IPV4致命错误检测
      7 IPV6INIT="yes"        #IPV6是否自动初始化
      8 IPV6_AUTOCONF="yes"   #IPV6是否自动配置
      9 IPV6_DEFROUTE="yes"   #IPV6是否可以为默认路由
     10 IPV6_FAILURE_FATAL="no"   #是否开启IPV6致命错误检测
     11 IPV6_ADDR_GEN_MODE="stable-privacy"  #IPV6地址生成模型
     12 NAME="ens33"          #网卡物理设备名称
     13 UUID="a7db1fa9-1519-406d-9dc6-895e97a991e4"   #通用唯一识别码
     14 DEVICE="ens33"       #网卡设备名称,这个必须和‘NAME’的值一样
     15 ONBOOT="yes"         #是否开机启动
~                       

修改之后的内容:

      1 TYPE="Ethernet"
      2 BOOTPROTO="static"  #DHCP改为static,动态获取ip地址协议改为静态
      3 DEFROUTE="yes"
      4 NAME="ens33"
      5 UUID="a7db1fa9-1519-406d-9dc6-895e97a991e4"
      6 DEVICE="ens33"
      7 ONBOOT="yes"
      8 IPADDR="192.168.253.151"  #填写你想固定的ip地址
      9 NETMAST="255.255.255.0"   #填写子网掩码
     10 GATEWAY="192.168.253.2"   #填写网关

(1)8那里,ip以/24结尾的,如:192.168.253.150/24 前三位ip不要变,可变最后一 位,最后一位的有效范围在1~254,实际范围为0~255,但0、255都是系统保留的,不能作为有效ip使用。

(2)网关填写要与自己的系统里面的相同。

[root@localhost network-scripts]# ip r
default via 192.168.253.2 dev ens33 proto dhcp metric 100 

查看网关。

4.配置文件之后回到虚拟机,修改网卡

ifdown ens33  #禁用网卡ens33
ifup ens33    #启用网卡ens33

如果激活网卡不生效,可以试着重启一下

systemctl restart NetworkManage  ----重启系统服务
systemctl start NetworkMange ---- 启动
systemctl stop NetworkMange ---- 关闭

5.修改/etc/resolv.conf

# Generated by NetworkManager  
nameserver 114.114.114.114    #增加一行

nameserver 114.114.114.114是一个公认的DNS服务器,提供一些域名解析,解析一些ip

不写这个的话,可能会解析不出一些域名,然后在ping www.baidu.com 看看能不能ping通 ,能的话,那就意味着成功了!

关于网卡名称,通常开头是ifg-en开头,例如:

可以看到ifg-eno开头的,那么它就是虚拟网卡,那么具体对比的要与ip addr里面的网卡名称做对比

以下是ip addr

具体的就是这么一个情况

那么第二个问题

关于双网卡情况,在IP addr命令里有显示两张网卡

在/etc/sysconfig/network-scripts/的目录下只显示一张网卡的情况

那么这时候就需要使用cp命令,也就是复制命令

进入到network-scripts的目录下,然后执行命令cp 已显示一张网卡的名称,然后输入它,例如我现在在network-scripts的目录下能显示的网卡文件名是ifg-eno16777736,那么就cp ifg-eno16777736 然后添加ifg-第二张网卡的名称,即为cp ifg-eno16777736 ifg-eno33554976,然后回车即可完成创建第二张网卡的配置文件的情况。

值得注意的是vim和vi是两个不一样的东西,vim在最小安装的情况下是没有安装的,需要手动安装!

释放现有IP : dhclient -r

重新获取 # dhclient

配置静态ip地址

找到:/etc/sysconfig/network-scripts/ifcfg-xxx 文件

上一部查看出的文件,然后直接打开,命令:

vi /etc/sysconfig/network-scripts/ifcfg-eth0

文件内容如下:

TYPE=Ethernet

BROWSER_ONLY=no

BOOTPROTO=static

DEFROUTE=yes

NM_CONTROLLED

IPV6INIT=no

UUID=ad0dda6b-0900-4945-a747-ffb5a30b3279

DEVICE=eth0

ONBOOT=yes

HWADDR=00:0C:29:12:79:33

IPADDR=192.168.30.88

GATEWAY=192.168.30.2

NETMASK=255.255.255.0

DNS1=8.8.8.8

配置项解析:

BOOTPROTO :动态获取ip是dhcp,静态ip我们要改成static;

UUID :虚拟机里每一个系统这里必须不一样;

DEVICE:这里填写这个ifcfg-后面的信息即可,或者直接用装机默认的(有些是什么eno1677… 一串数字的);

HWADDR :这里填写刚刚虚拟机“高级”查看的MAC地址;

IPADDR :这里填写刚刚设置的VMnet8的ip网段中的ip地址;

GATEWAY :这里填写刚刚设置的VMnet8的网关ip;

NETMASK :这里填写刚刚设置的VMnet8的子网掩码;

DNS1:这里为了可以支持centos访问外网而设置的;

也可以使用如下命令设置DNS:

vi /etc/resolv.conf

这个文件包含了DNS的地址信息,可以自己在这里添加,如下:

# Generated by NetworkManager

nameserver 8.8.8.8

nameserver 114.114.114.114

配置完成之后需要重启网络服务,也就是网卡。

命令:

systemctl restart network

service network restart

(番外)自定义网卡名字,如ifcfg-eth0

有些小伙伴可能想将centos7的网卡名称更改,就像centos6之前的,使用ip addr命令查看的网卡名称叫做 ifcfg-eth0。那么centos7如何修改呢?

5.1 修改网卡配置文件

例子,当前network-scripts/目录下的文件叫 ifcfg-ens33

那么执行mv命令,如下:

mv /etc/sysconfig/network-scripts/ifcfg-ens33 /etc/sysconfig/network-scripts/ifcfg-eth0

修改 文件内容,将里面的 DEVICE修改成eth0

5.2 修改 grub 配置文件

打开文件命令:

vi /etc/sysconfig/grub
GRUB_TIMEOUT=5

GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"

GRUB_DEFAULT=saved

GRUB_DISABLE_SUBMENU=true

GRUB_TERMINAL_OUTPUT="console"

GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"

GRUB_DISABLE_RECOVERY="true"

注意:

需要修改 GRUB_CMDLINE_LINUX

其它不用修改

5.3 重新生成 grub 配置文件

命令:

grub2-mkconfig -o /boot/grub2/grub.cfg

重启网络服务:

grub2-mkconfig -o /boot/grub2/grub.cfg

重启centos7:

shutdown -r now

5.4 查看

ip addr

OK,搞掂了,结果显示eth0网卡了

entos7的网卡重启方法

1、centos6的网卡重启方法:

service network restart

centos7的网卡重启方法:

systemctl restart network

2、DNS配置文件:

cat /etc/resolv.conf

设置主机和IP绑定信息:

cat /etc/hosts

设置主机名:

cat /etc/hostname

3、可以使用nmtui文本框方式修改IP

4、关闭防火墙并设置开机不启动

查看防火墙状态:

systemctl status firewalld.service

关闭:

systemctl stop firewalld

开启:

systemctl start firewalld

开机自动关闭:

systemctl disable firewalld

开机自动启动:

systemctl enable firewalld

查看开机是否启动:

chkconfig –list|grep network(RHLE6)

5、临时和永久关闭Selinux

临时关闭:

getenforceEnforcingsetenforce 0setenforce:SELinux is disabled

永久关闭:

vim /etc/selinux/config