网络管理是一个复杂而庞大的体系,博主最近刚好学了一点关于网络的知识,就跟大家分享一下如何管理网卡、配置及查看ip地址和路由表。主要通过以下几个命令来演示一下。
现在一些旧的命令由于功能上有欠缺,已经逐渐被新命令取代。
旧命令 | 新命令 |
ifconfig | ip addr |
route | ip route |
ip link |
1)配置地址:
比如修改eth0网卡的ip为192.168.174.100,子网掩码为255.255.255.0
ifconfig eth0 192.168.174.100/24
使用ifconfig修改ip会直接在内存中生效,重启系统或者重启network服务就丢失。
重启服务:Centos6:service network restart
Centos7:systemctl restart network
2)具有查看功能:
①ifconfig
显示网卡信息,被禁用的网卡看不到.(拔了网线断开连接不算禁用,仍然能看到该网卡)
②ifconfig -a
不管启用的网卡还是禁用的都能显示出来,但是看不到禁用网卡的ip
③ip a
也是查看网卡,但是如果网卡被down,ifconfig -a不显示该ip,也不显示网卡状态,但是ip a可以显示网卡处于down状态
3)启用、禁用网卡
①ifconfig eth1 up 启用eth1网卡
ifconfig eth1 down 禁用eth1网卡
这种禁用是从数据链路层断掉,但是网络层ip还在,也就是仍然能ping通
②ifdown eth0 禁用网卡,删除了网络层ip
ifip eth0 启用网卡
4)扫描eth0接口的数据
ifconfig -s eth0
5)网卡别名
ifconfig eth1:1 192.168.174.100/24 起网卡别名
ifconfig eth1:1 192.168.174.100/24 删除别名
1、 查看路由表:
route -n
2、添加路由记录:是临时添加的记录,重启network服务就失效
1)添加到达目标主机的路由
route add -host 目标主机 gw 网关 dev 接口
比如 给eth0网卡添加一条到达10.1.111.111的路由记录,网关是10.2.111.111
route add -host 10.1.111.111 gw 10.2.111.111 dev eth0
2)添加到达目标网络的路由
route add -net 目标网络 netmask 子网掩码 gw 网关 dev 接口
或者 route add -net 目标网络/子网掩码 gw 网关 dev 接口
比如 给eth0网卡添加一条到达网络10.1.0.0/16的路由,网关是10.2.111.111
route add -net 10.1.0.0 netmask 255.255.0.0 gw 10.2.111.111 dev eth0 或者 route add -net 10.1.0.0/16 gw 10.2.111.111 dev eth0
3)添加默认路由
route add default gw 网关
比如给eth0添加一条默认路由,网关是10.2.111.111
route add default gw 10.2.111.111
3、 删除路由记录:
删除路由记录只需要把添加路由记录命令中的add改成del就可以了,不过删除路由记录可以省略接口
1)删除到达目标主机的路由记录
route del -host 主机名
2)删除到达目标网络的路由记录
route del -net 目标网络/子网掩码
3)删除默认路由
route del default
ip route 的用法与route大同小异
1、显示路由:
ip route [show | list]
ip route显示的路由记录与route显示的格式不一样
2、添加路由
1)添加到达目标主机的路由记录
ip route add 目标主机 via 网关
2)添加到达网络的路由记录
ip route add 目标网络/掩码 via 网关
3)添加默认路由
ip route add default via 网关
下面只举一个例子说明一下。
比如增加一条到达主机10.2.111.112的路由,网关是10.1.111.112
ip route add 10.2.111.112 via 10.1.111.112
3、删除路由
ip route del 目标网络/掩码
ip route del default [via 网关]
4、清空路由表:
ip route flush
1)查看
ip link只能看链路层的状态,看不到ip地址
2)启用、禁用接口
ip link set device down 禁用指定接口
ip link set device up 启用指定接口
比如禁用eth0就是ip link set eth0 down
说明:
ip link不支持tab键补齐
在centos6中有的命令不支持tab键补齐,那么使用需要安装bash-completion包,安装完之后,可以查看包里都支持哪些命令补齐,但是发现ip link不包括在内。
1)查看
①ip addr 即ip a ,可以查看网卡的ip、mac等,即使网卡处于down状态,也能显示出网卡状态,但是ifconfig查看就看不到。
②ip addr show device 查看指定网卡的信息
比如查看eth的信息,就是ip addr show eth0
2)作用域
scope {global|link|host}]:指明作用域
①global: 全局可用,即两个接口进来的数据我都可以响应。是默认状态。
②link: 仅链接可用,进来的数据只有直接相连的那个接口能够响应
③host: 本机可用,即只能自己访问
3)增加ip
ip addr add ip/netmask dev 接口
比如给eth0增加一个2.2.2.2/16 地址
ip addr add 2.2.2.2/16 dev eth0
4)删除ip
ip addr del ip/netmask dev 接口
5)清空指定网卡的所有ip
ip addr flush dev 接口
6)给网卡起别名,起别名相当于给网卡多绑定了一个ip
用法: 比如给网卡eth0增加别名
ip addr add 3.3.3.3/16 dev eth0 label eth0:1
7)删除别名
ip addr del ip/netmask dev eth0 [label eth0:1]
说明一:
使用命令的方式设置别名,重启服务就没了,若要永久生效,需要写配置文件,步骤如下:
1、确保NetworkManager服务是停止的
Centos6: service NetworkManager status 查看服务状态
service NetworkManager stop 临时停止
chkconfig NetworkManager off 下次开机即停止服务
Centos7: systemctl status NetworkManager 查看服务状态
systemctl stop NetworkManager 临时停止
systemctl disable NetworkManager 下次开机即停止服务
2、 编辑配置文件
cd /etc/sysconfig/network-scripts/
vim ifcfg-eth1:1 至少写入以下内容
DEVICE=eth1:1
BOOTPROTO=static
IPADDR= ==》ip地址
PREFIX= ==》掩码
GATEWAY= ==》网关
设置别名时必须是静态ip,不能是自动获取
3、 重启服务
Centos6: service network restart
Centos7: systemctl restart network
如果不想要这个别名了,直接删除该文件,然后重启服务即可 。
说明二:
使用命令的方式增加或者删除ip,都是临时的,如果重启network服务,那么操作就失效了。想要永久生效可以修改配置文件/etc/sysconfig/network-scripts/ifcfg-eth*,这个文件是用来设置网卡参数,这个文件内的所有设置,基本上就是bash的变量设置规则(都应该要大写),否则我们的scropt会误判。
步骤如下:
1) 编辑文件
vim /etc/sysconfig/network-scripts/ifcfg-eth0 至少要有如下几项:
DEVICE=eth0
BOOTPROTO=static
IPADDR= ==》ip地址
PREFIX= ==》掩码
GATEWAY= ==》网关
2)生效:重启服务
Centos6: service network restart
Centos7: systemctl restart network
说明三:
使用命令的方式增加或者删除路由记录,都是临时的,如果重启network服务,那么操作就失效了。想要永久生效可以编辑配置文件/etc/sysconfig/network-scripts/route-eth*,步骤如下:
1、 vim etc/sysconfig/network-scripts/route-eth0
文件内容有两种写法:
1)单行
netid/mask via gw 比如2.2.2.2/16 via 10.0.0.0
2)多行
ADDRESS#=目标网络
NETMASK#=子网掩码
GATEWAY#=网关
注意:
同一路由记录的#数字必须一样,因为可能会添加多条路由,数字一样的为同一组。
同一个文件里,两种格式不能混合着写。
2、重启服务
Centos6: service network restart
Centos7: systemctl restart network
以上就是一些关于增加或者删除ip及路由记录的小命令,临时起作用的命令一般用在测试环境中,想要永久生效就需要写在文件里。希望这篇博文能对大家有所帮助,欢迎留言,共同探讨。
在了解这些之后,可以自己
本文转自lc0108131451CTO博客,原文链接:http://blog.51cto.com/13150617/1963833 ,如需转载请自行联系原作者