linux重启网卡的命令

概述

网络这块对于运维还是很重要的,更是linux日常运维的工作内容,掌握一些命令技巧还是很有帮助的,下面简单介绍下这块。


1. ifconfig 查看网卡IP


1.1、命令格式:

ifconfig [网络设备] [参数]

1.2、命令参数:

up 启动指定网络设备/网卡。 down 关闭指定网络设备/网卡。该参数可以有效地阻止通过指定接口的IP信息流,如果想永久地关闭一个接口,我们还需要从核心路由表中将该接口的路由信息全部删除。 arp 设置指定网卡是否支持ARP协议。 -promisc 设置是否支持网卡的promiscuous模式,如果选择此参数,网卡将接收网络中发给它所有的数据包 -allmulti 设置是否支持多播模式,如果选择此参数,网卡将接收网络中所有的多播数据包 -a 显示全部接口信息 -s 显示摘要信息(类似于 netstat -i) add 给指定网卡配置IPv6地址 del 删除指定网卡的IPv6地址 <硬件地址> 配置网卡最大的传输单元 mtu<字节数> 设置网卡的最大传输单元 (bytes) netmask<子网掩码> 设置网卡的子网掩码。掩码可以是有前缀0x的32位十六进制数,也可以是用点分开的4个十进制数。如果不打算将网络分成子网,可以不管这一选项;如果要使用子网,那么请记住,网络中每一个系统必须有相同子网掩码。 tunel 建立隧道 dstaddr 设定一个远端地址,建立点对点通信 -broadcast<地址> 为指定网卡设置广播协议 -pointtopoint<地址> 为网卡设置点对点通讯协议 multicast 为网卡设置组播标志 address 为网卡设置IPv4地址 txqueuelen<长度> 为网卡设置传输列队的长度 

1.3、修改配置重启网卡

ifconfig类似与windows的ipconfig,不加任何选项和参数只打印当前网卡的IP相关信息(子网掩码、网关等)。在windows下设置IP非常简单,然而在命令窗口下如何设置?这就需要去修改配置文件

/etc/sysconfig/network-scripts/ifcfg-eth0了,如果是eth1那么配置文件是

/etc/sysconfig/network-scripts/ifcfg-eth1.

如果Linux上有多个网卡,而只想重启某一个网卡的话,可以使用这个命令:

[root@localhost ~]# ifdown eth0; ifup eth0 

ifdown 即停掉网卡,ifup即启动网卡。有一点要提醒你的是,如果我们远程登录服务器,当使用ifdown eth0这个命令的时候,很有可能后面的命令ifup eth0不会被运行,这样导致我们断网而无法连接服务器,所以请尽量使用 service network restart 这个命令来重启网卡。


2. 给一个网卡设定多个IP


在linux系统中,网卡是可以设定多重IP的,之前我曾经管理的一台服务器的eth1就设定了5个IP,下面简单介绍下:

[root@localhost ~]# cd /etc/sysconfig/network-scripts/ [root@localhost network-scripts]# cp ifcfg-eth0 ifcfg-eth0:1 

然后编辑ifcfg-eth0:1 这个配置文件,内容如下,一定要注意 DEVICE 这里要写成 “eth0:1”

[root@localhost network-scripts]# cat ifcfg-eth0:1 DEVICE=eth0:1 HWADDR=00:0C:29:D9:F0:52 TYPE=Ethernet UUID=a5442526-0329-421d-86cf-8d7f16d01374 ONBOOT=yes BOOTPROTO=none IPADDR=192.168.80.5 NETMASK=255.255.255.0 GATEWAY=192.168.80.2 NM_CONTROLLED=yes 

编辑好后,重启网卡:

[root@localhost network-scripts]# ifdown eth0 && ifup eth0 

之后再查看网卡ip:

[root@localhost network-scripts]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:D9:F0:52 inet addr:10.72.137.159 Bcast:10.72.137.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fed9:f052/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2587605 errors:2 dropped:0 overruns:0 frame:0 TX packets:773070 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1934306928 (1.8 GiB) TX bytes:54602387 (52.0 MiB) Interrupt:18 Base address:0x1080 eth0:1 Link encap:Ethernet HWaddr 00:0C:29:D9:F0:52 inet addr:192.168.80.5 Bcast:192.168.80.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Interrupt:18 Base address:0x1080 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:39 errors:0 dropped:0 overruns:0 frame:0 TX packets:39 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:16066 (15.6 KiB) TX bytes:16066 (15.6 KiB) 

可以看到多了一个ip.


3. 查看网卡连接状态


[root@localhost ~]# mii-tool eth0 SIOCGMIIPHY on eth0 failed: Operation not supported 

如果是在服务器上不会显示成这样的,由于是虚拟机所以显示 “not supported”, 如果是真机应该显示如下内容:

[root@db-dd sphinx]# mii-tool eth0 eth0: negotiated 100baseTx-FD, link ok 

只要看到 “link ok” 就说明网卡为连接状态,如果显示 “no link” 说明网卡坏掉了或者没有连接网线。

4. 更改主机名


当装完系统后,默认主机名为localhost,使用hostname就可以知道你的linux的主机名是什么:

[root@localhost ~]# hostname localhost.localdomain 

同样使用hostname可以更改你的主机名:

[root@localhost ~]# hostname hwb [root@localhost ~]# hostname hwb 

上面只是临时修改,下次重启还会变成未改之前的主机名,所以需要你还要去更改相关的配置文件 “/etc/sysconfig/network”

[root@localhost ~]# vim /etc/sysconfig/network NETWORKING=yes HOSTNAME=hwb 

5. 设置DNS


DNS是用来解析域名用的,平时我们访问网站都是直接输入一个网址,而dns把这个网址解析到一个IP。关于dns的概念,如果你很陌生的话,那就去网上查一下吧。在linux下面设置dns非常简单,只要把dns地址写到一个配置文件中即可。这个配置文件就是/etc/resolv.conf

[root@localhost ~]# vim /etc/resolv.conf ; generated by /sbin/dhclient-script nameserver 202.106.46.151 

resolv.conf有它固有的格式,一定要写成 “nameserver IP” 的格式,上面那行以 ‘;’ 为开头的行是一行注释,没有实际意义,建议写两个或多个namserver ,默认会用第一个namserver去解析域名,当第一个解析不到时会使用第二个。在linux下面有一个特殊的文件/etc/hosts也能解析域名,不过是需要我们手动在里面添加IP+域名这些内容,它的作用是临时解析某个域名,非常有用。

[root@localhost ~]# vim /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.1.111 www.baidu.com 

保存后,再ping一下 www.baidu.com 就会到 192.168.1.111 了:

[root@localhost ~]# ping www.baidu.com PING www.baidu.com (192.168.1.111) 56(84) bytes of data. 

/etc/hosts 的格式很简单,每一行作为一条记录,分成两部分,第一部分是IP,第二部分是域名。关于hosts文件,有几点需要你注意:

1)一个IP后面可以跟多个域名,可以是几十个甚至上百个;

2)每行只能有一个IP,也就是说一个域名不能对应多个IP;

3)如果有多行中出现相同的域名(前面IP不一样),会按最前面出现的记录来解析。

linux重启网卡的命令