路由和Linux网卡配置实战
目录
一、动态主机配置协议DHCP
二、基本网络配置
三、CentOS 6、CentOS 7网卡名称的区别
三、CentOS 6网卡名称
四、CentOS 6网络配置方式
五、配置网络接口
六、route命令
一、动态主机配置协议DHCP
对于计算机而言,利用tcp/ip协议与网络中的设备进行通讯通常需要对其配置IP地址。配置的方法,其一为:于tcp/ip属性中设置为自动获取IP地址,选中此项时,主机将自动于网络中寻找特殊的名为DHCP-动态主机配置协议的服务器,由于DHCP上维护着众多地址,寻找到后将会当从中寻找DHCP服务器,申请地址进行通讯。此过程为自动化,不需要人为进行干预。此过程通过四部分实现。
1.四部分过程
1).DISCOVER:
在客户端启动时若无地址,进行的时自动获取,则其将向网络中发送请求,即DHCP发现报文,DISCOVER报文。以广播形式发出,在本身当前没有地址的情况下,询问网络中是否拥有DHCP服务器存在。
2) .OFFER:
如若网络中存在DHCP服务器,通常情况下此服务器会给予客户端以响应,表示本身地址的存在。假设服务器中存在192.1.68-192.1.100共100个服务器地址,则服务器将会从众多地址中抽取空余的地址发予客户端,提供消息中含有地址的信息。服务器同时将分配出的地址做上标记,避免此后处理其他电脑提出的请求时出现地址给予重复的情况。
3) .REQUEST:
客户端收到多个服务器发来的OFFER请求后,其需要选择一家服务器的地址进行反馈响应。同时,其余未被选择的服务器将地址标记取消回收。
4) .ACK:
被使用地址的服务器进行确认工作,确认获取的地址、网关、子网掩码、DNS、租期等众多重要信息。
经过以四个步骤之后即可得到地址,在租期指定的时间内对其进行使用。假设租期为一天,即可使用一天此地址。DHCP通常情况下会在分配IP后与租期约定时间距离一半时间的前夕进行提示,以便客户端申请续约继续使用IP地址。
假设租期为一天,服务器将在租定十二小时后相客户端发送续约提示,在客户端提交续约申请、服务器同意申请后,客户端即可得到新的一天使用时间,此后延续此操作,租期可继续延长。
2.IP频繁对换设置的便捷操作
由于IP设置仅能够从自动获取与手动输入中二选一,当需要频繁互换IP设置,例如笔记本在公司与家庭的运用,在家庭中自动获取IP,在部分工作单位中其地址为静态地址需要手动输入时,为保证效率与便捷性,可以选择自动获取IP地址中的备用配置,在其中进行固定地址的输入,意味着在没有DHCP服务器的场合下输入的地址将自动生效,而在DHCP服务器存在的场合下将会优先使用DHCP服务器,避免了IP地址频繁输入转换的麻烦。移动办公时十分方便。
3.注意
手动输入IP地址生效的前提为网络IP中未连接DNS服务器,自动获取IP地址和手动输入IP地址不能同时做到。
二、基本网络配置
1.介绍
将Linux主机接入到网络,需要进行网络相关的设置。
一般包括如下内容:
(1)主机名(windows内为计算机名)
在Linux、centos中,主机名默认情况下只具有本地意义,进行不同计算机之间的区分。而windows内由于其本身具有网络通讯功能,可以对计算机进行访问。
Linux中需要凭借hostname指令进行主机名的查看:
[root@centos7 ~]#hostname
主机名与windows的计算机名相类似,但由于是否拥有通讯功能的差别,即windows可通过计算机名,利用windows的ping命令对计算机进行访问。
假设现今将两台主机更改为同样的ID,由于Linux中主机名不具有网络功能,故名字重复时不会被系统提示冲突,而windows中主机名重复,系统将会于显示冲突。
(2)IP/netmask
查看IP地址和子网掩码,需要使用到ifconfig命令
[root@centos7 ~]#ifconfig
centos7存在与虚拟化有关的虚拟网卡,可用删掉命令进行虚拟驱动的删除
[root@centos7 ~]#yum remove libvirt-daemon
将机器重启后,再次利用ifconfig即可。
(3)路由:默认网关
(4)DNS服务器
主DNS服务器
次DNS服务器
第三DNS服务器
三、CentOS 6、CentOS 7网卡名称的区别
由于centos6与centos7两个地址的网卡名并不相同。centos6默认使用eth进行网卡名的定义,而centos7使用是ens进行定义。现今将两者分为两部分进行讲述
四、CentOS 6网卡名称
1.介绍
(1)接口命名方式: CentOS 6
以太网: eth[0,1,2...]
ppp-较为特殊少见: ppp[0,1,2...].
网卡名称并非一成不变,可通过更改配置文件以实现网卡的命名。
(2)网络接口识别并命名相关的udev配置文件:
/etc/udev/rules.d/70-persistent-net.rules
(3)查看网卡:
dmesg |grep -i eth
ethtool -i ethO
(4)卸载网卡驱动:
modprobe -r e1000
rmmod e1 000
(5)装载网卡驱动:
modprobe e1000
2.实际操作
通过克隆方式在centos6上建立两台完全相同的虚拟主机,其中一台主机的地址为:192.168.30.128;另一台主机地址为:192.168.30.102,即:由于centos本身主机名不能重复的特性,其中一台虚拟机的网卡名、MAC地址自动发生了改变。
网卡命名的实现
/etc/udev/rules.d/70-persistent-net.rules 此文件定义了网卡的命名方式
操作:
[root@centos7 ~]#cd
[root@centos7 ~]#cd /etc/udev/rules.d/
[root@centos7 ~]#ls
60-fprint-autosuspend.rules 70-persistent-cd.rules 97-bluetooth-serial.rules
60-openct.rules70-persistent-net.rules 98-kexec.rules //rules为定义了网卡命名规范的规则文件
60-pcmcia.rules 90-alsa.rules 99-fuse.rules
60-raw.rules 90-hal.rules
[root@centos6 rules .d]#vim 70-persistent-net.rules //将此文件打开
# This file was automatically generated by the /lib/udev/write net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.
# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net",ACTION=="add",DRIVERS=="?*",ATTR(address)=="00:0c:29:el:f7:aa", ATTR[type])=="1", KERNEL=="eth*", NAME=" eth0" //当前mac名称为“aa”时网卡名称为0
# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net",ACTION=="add",DRIVERS=="?*",ATTR(address)=="00:0c:29:e1:f7:b4", ATTR[type]=="1", KERNEL=="eth*", NAME= "eth1" //当前mac名称为“b4”时网卡名称为eth1
# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",
ATTR(address)=="90:0c:29:df:51:03,[ATTR[type)=="1", KERNEL=="eth*", NAME=" eth2 " //显示为当前网卡的mac与网卡名称。
由于0、1网卡名称已被占据,此时欲实现mac地址为03的网卡名更改,需要将此前信息全部删除,并调整网卡名称
# PCI device 0x8086:0x100f (e1000)
# PCI device 0x8086:0x100f (e1000)
# PCI device 0x8086:0x100f (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",
ATTR(address)=="90:0c:29:df:51:03,[ATTR[type)=="1", KERNEL=="eth*", NAME=" eth0 "
文件更改后网卡通常并不会立刻生效,欲使其生效,由于重启在部分情况下并不现实,进行网卡驱动的卸载也同样能够到达此目的。
注意:
在文件为可执行的脚本命令时,能够进行source命令的使用。并非所有配置文件更改的生效都属于source命令,且由于/etc/udev/rules.d/70-persistent-net.rules此文件属于系统的配置文件,而非脚本,故当前情况并不能使用source命令。
3.查看网卡驱动名称的命令
欲进行网卡驱动的卸载,首先应知晓网卡驱动的名称。网卡驱动名称的查看具有两个方法。
方法1:demesg
[root@centos7 ~]#demesg
//此命令针对所有硬件信息
[root@centos7 ~]#dmesg |grep -i eth
//进入所有网卡信息后,进而进行寻找网卡驱动硬件的查看
e1000 0000:02:01.0: eth0:(PCI:66MHz:32-bit) 00:0c:29:df:51:03
e1000 0000:02:01.0: eth0:Intel(R) PR0/1000 Network Connection
dev:_ renamed network interface eth0 to eth2
e1000: eth2 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
//e1000即驱动网卡的模块名
B021q: adding VLAN 0 to HW filter on device eth2
eth2: no IPv6 routers present
方法2:ethtool
[root@centos7 ~]#ethtool -i eth2
//查看eth2的驱动模块
driver:e1000
//此为eth2驱动网卡模块名
version: 7.3.21-k8-NAPI
firmware-version:
bus-info: 0000:02:01.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access:yes
supports-register-dump: yes
supports-priv-flags: no
[root@centos7 ~]#modprobe -r e1000
//r即进行驱动模块的卸载。
[root@centos7 ~]#ifconfig
//由于网卡驱动模块的卸载,导致网卡同样也无法被看见
lo Link encap:Local Loopback
inet addr:127.0.0.1Mask:255.0.0.0
inet6 addr: ::1/128 Scope :Host
UP LOOPBACK RUNNING MTU: 65536 Metric: 1
RX packets:12 errors:0 dropped:0 overruns:0 frame: 0
TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen: 0
RX bytes:720 (720.0 b) TX bytes:720 (720.0 b)
[root@centos7 ~]#modprobe e1000
//驱动模块卸载后进行重新加载。网卡名;e1000,加载时将r去掉即加载命令。
[root@centos7 ~]#ifconfig重启时选择移动,即保留原始状态。
eth0 Link encap: Ethernet HWaddr 0Ѳ: 0C:29:DF:51:03
inet6 addr: fe80: :20c:29ff:fedf:5103/64 Scope:Link
UP BROADCAST RUNNING MULTICASTMTU: 1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueue len: 1000
RX bytes:0 (0.0 b) TX bytes:328 (328.0 b)
lo Link encap:Local Loopback
inet addr:127.0.0.1Mask:255.0.0.0
inet6 addr: ::1/128 Scope :Host
UP LOOPBACK RUNNING MTU: 65536 Metric: 1
RX packets:12 errors:0 dropped:0 overruns:0 frame: 0
TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen: 0
RX bytes:720 (720.0 b) TX bytes:720 (720.0 b)
即实现了网卡名称的更改。
现今进行对centOS6.9进行重启,在弹出“此虚拟机已被移动或复制”提醒时选择【我已移动该虚拟机】,表示保留虚拟机原来的状态。
在主机192.168.30.128中进行mac地址的查看
[root@centos6 ~]#ifconfig
eth0 Link encap: Ethernet HWaddr 00:0C:29:E7::AA
inet addr:192.168.30.128 Bcast:192.168.30.255 Mask;255.255.255.0
inet6 addr: fe80::20c:29ff:fee1:f7aa/64 Scope:Link
UP BROADCAST RUNNING MULTICASTMTU: 1500 Metric:1
RX packets:112 errors:0 dropped:0 overruns:0 frame:0
TX packets:110 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen: 1000
RX bytes:15341 (14.9 kiB) TX bytes:12649 (12.3kiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNINGMTU:65536 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:480 (480.0 b) TX bytes:480 (480.0 b)
现进行对centOS6.9复制得到相同的新虚拟机的启动,由于与原虚拟机完全相同,在启动时其Mac地址出现了冲突,故网卡无法启动,造成卡顿。
[root@centos6 ~]#ifconfig //查看得到完全相同的Mac地址
eth0 Link encap: Ethernet HWaddr 00:0C:29:E7::AA
inet6 addr: fe80::20c:29ff:fee1:f7aa/64 Scope:Link
UP BROADCAST RUNNING MULTICASTMTU: 1500 Metric:1
RX packets:112 errors:0 dropped:0 overruns:0 frame:0
TX packets:110 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen: 1000
RX bytes:15341 (14.9 kiB) TX bytes:12649 (12.3kiB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNINGMTU:65536 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:480 (480.0 b) TX bytes:480 (480.0 b) //由于Mac地址冲突,导致其中此主机得不到IP地址
4.解决Mac地址冲突的问题
例如当搭建十个主机的网络,考虑到实际可能性,主机的搭建通常为虚拟机的复制而非手动搭建。此时为解决Mac地址冲突无法显示出IP地址的问题的操作如下:
点击设置->网络适配器(找到网卡)->高级->生成(新MAC地址)
需注意:由于在生产中使用的物理服务器并不会产生Mac地址冲突,故此类问题仅存在于虚拟机之中。
再次进行网卡驱动卸载的方式使其生效
[root@centos6 ~]#rthtool -i eth0
//查找网卡驱动名称
[root@centos6 ~]#ethtool -i eth2
//查看eth2的驱动模块
driver: e1000
//此为eth2驱动网卡模块名
version: 7.3.21-k8-NAPI
firmware-version:
bus-info: 0000:02:01.0
supports-statistics:yes
supports-test:yes
supports-eeprom-access:yes
supports-register-dump: yes
supports-priv-flags: no
[root@centos7 ~]#modprobe -r e1000
//进行驱动模块的卸载。
[root@centos7 ~]#ifconfig
//查看IP地址和子网掩码
lo Link encap:Local Loopback
inet addr:127.0.0.1Mask:255.0.0.0
inet6 addr: ::1/128 Scope :Host
UP LOOPBACK RUNNING MTU: 65536 Metric: 1
RX packets:12 errors:0 dropped:0 overruns:0 frame: 0
TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen: 0
RX bytes:720 (720.0 b) TX bytes:720 (720.0 b)
[root@centos6 ~]#cat /etc/udev/rules.d/70-persistent-net.rules
Link encap: Ethernet HWaddr 0Ѳ: 0C:29:DF:51:03
#This file was automatically generated by the /lib/udev/write_net_rules
#program,run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.
# PCI device 0x8086:0x100f(e1000)
SUBSYSTEM=="net",ACTION=="add",DRIVERS=="?*",ATTR(address)=="00:0c:29:el:f7:aa",ATTR(type)=="1",KERNEL=="eth*",NAME="eth0"
//旧Mac地址占用eth0
# PCI device 0x8086: 0x100f (e1000)
SUBSYSTEM=="net",ACTI0N=="add",DRIVERS=="?*",ATTRfaddress)=="00:50:56:3b:ef:87".ATTR(tvpe)"1".KERNEL=="eth*".NAME="eth0"
//新Mac地址使用eth0
更为简单的更改Mac地址的方式:将/etc/udev/rules.d/70-persistent-net.rules这一文件进行删除
[root@centos6 ~]#rm -f/etc/udev/rules.d/70-persistent-net.rules
//将此文件所对应进行修改
[root@centos6 ~]#ifconfig
eth1 Link encap:Ethernet. Hwaddr 00:50:56:3B:EF:87 //网卡重新卸载、加载模块
inet6 addr: fe80::250: 56ff: fe3b: ef87/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric :1
RX packets:0 errors:0 dropped:0 over runs:0 fr ame : 0
TX packets:3 errors:o dropped:0 overruns:0 carrier: 0
collisions:0 txqueue len: 1000
RX bytes:0(0.0 b)TX bytes:238 (230.0 b)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope : Host
UP LOOPBACK RUNNINGMTU:65536 Metric :1
RX packets:24 errors:0 dropped:0 overruns:0 frame :0
TX packets:24 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueue len: 0
RX bytes:1672 (1672.0 KiB)TX bytes:1672 (1.6 KiB)
5.网卡名的修改
网卡名同样可自由更改、人为定制,其方法同样为:
1.卸载网卡驱动
2.进行网卡加载
3.查看网卡名的修改
四、CentOS 6网络配置方式
1.静态指定:
较老旧(可能被淘汰):ifconfig,route, netstat
ifconfigm命令中存在的解释:This program is obsolete !
为避免旧命令被淘汰删除的情况,故建议使用IP命令将其代替。
较新:ip: object (link, addr, route), ss, tc
system-config -network -tui, setup
(1)其中,system-config -network -tui为字符形式的工具,不用书写命令,进行回车即可。
如图Use DHCP处,通过“*”的去留进行地址的手动添加或自动获取IP。
(2)setup中包括的设置较多,其中第四项Network configuration即为网络设置。
(3)除开工具和命令,也可通过更改文件的方式来进行IP地址的配置
2.动态分配:
DHCP: Dynamic Host Configuration Protocol以IP地址实现自动获取
五、配置网络接口
1.ifconfig命令
由于部分命令的使用悠久,部分情况下由于系统尚未进行换新,仍然存在只能使用旧命令的情况。因此,旧命令仍有掌握的必要
ifconfig [interface]
ifconfig -a
ifconfig IFACE [up|down] -启用或禁用网卡
ifconfig interface [aftype] optionsl addressifconfig IFACE IP/netmask [up]
其中,up可有有无
ifconfig IFACE IP netmask NETMASK注意:立即生效
启用混杂模式: [-]promisc
2.基本用法
[root@centos6 ~]#ifconfig
ifconfig默认显示的是活动状态的网卡信息,若网卡非活动,则默认不显示。不仅可以查看,也可以设置网卡设置的信息
设置网卡的地址、启用或禁用网卡
[root@centos6 ~]#ifconfig eth1 down //up为启用,down为禁用。本身存在两个网卡,先将eth1进行禁用。
[root@centos6 ~]#ifconfig //此时发现eth1被禁用无法被查看到,但网卡的禁用并非不存在
[root@centos6 ~]#ifconfig -a //此命令可查看所有活动即非活动的网卡列表,此时发现eth1显现而出
eth0 Link encap: Ethernet HWaddr 00:0c:29:E1:F7 :AA
inet addr:192.168.30.128 Bcast:192.168.30.255 Mask:255.255.255.0
inet6 addr: fe80: :20c:29ff:fee1: f7aa/64 Scope:Link
UP BROADCAST RUNNING MULTICASTMTU:1500 Metric :1
RX packets:108 errors:0 dropped:0 over runs:0 fr ame :0 //接收数据包的数量
TX packets:112 errors:0 dropped:0 overruns:o carrier: 0 //发送数据包的数量
collisions:0 txqueue len: 1000
RX bytes:14732 (14.3 KiB) TX bytes:19861 (19.3 KiB)
eth1 Link encap:Ethernet. Hwaddr 00:0c:29:E1:F7:84
inet addr :172.18.108.3 Bcast :172.255
Mask:255.255.0.0
inet6 addr: fe80: :20c: 29ff: fee1: f7b4/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric :1
RX packets:117 errors:0 dropped:0 over runs:0 fr ame : 0
TX packets: 33 errors:o dropped:0 overruns:0 carrier: 0
//由于数据量的变化,接收、发送数据包的数量同样有发生变化的可能。假设在eth1网卡中通过物理手段进行断开连接,即相当于拔掉网线。未联网时,数据将不再改变。连接网络时,数据继续变化,说明存在数据的通讯。但此信息在拔掉网线后显示并不全面,建议使用ip link进行查看更加清晰的数据。
运用:
[root@centos6 ~]#ip link
1:lo:<LOOPBACK,UP,LOWER_UP> mtu 65536 noqueue state UNKNOWN
link/loobback 00: 00:00:0000:00 brd 00:00: 00:000000
2:eth0: <BROADCAST,MULTICAST,UP,LOWER UP>mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
link/ether 00:0c:29:e1:f7aa brd ff:ff:ff:ff:ff:f
3:eth1:<NO-CARRIER,BROADCAST,MULTICAST,UP>mtu 15500 qdisc prifo_fast state DOWN qlen 1000
//此时将网线插上,再次使用ip link查看
[root@centos6 ~]#ip link
1:lo:<LOOPBACK,UP,LOWER_UP> mtu 65536 noqueue state UNKNOWN
link/loobback 00: 00:00:0000:00 brd 00:00: 00:000000
2:eth0: <BROADCAST,MULTICAST,UP,LOWER UP>mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:e1:f7aa brd ff:ff:ff:ff:ff:f
3:eth1:<NO-CARRIER,BROADCAST,MULTICAST,UP>mtu 15500 qdisc prifo_fast state UP qlen 1000 //当前显示为UP
使用ip link具有纠错的特点
同时,ifconfig也可进行禁用网卡的操作。
使用ifdown命令将网卡禁用后,IP无法查看的同时,由于通过命令而非物理方式进行断网,故通过ip link查看到当前网卡的状态时其显示仍为UP。而使用ifconfig时,能够进行网卡的查看,但不存在地址,同样相当于网卡不可使用。
使用ifup命令进行网卡禁用的恢复,此后进行ifconfig查看,地址重新恢复,意味着网卡重新可以使用。
故,启用禁用网卡的方式分为两类:
1.ifup/down
2.ifconfig+网卡名+down/up
(显示不同)
ifdown的局限性
由于ifdown命令的成功与否依赖于配置文件的事先配置与存在。显示在两个网卡eth0、eth1中,由于eth0中存在配置文件,而eth1不包含,故使得命令在eth1网卡中运行成功,在eth0网卡中运行失败。
配置文件存在于:/etc/sysconfig/network-scripts/
设置网卡地址
IFACE IP/netmask [up] (临时测试时使用)
例:将eth1改为某一个地址
格式:[root@centos6 ~]#ifconfig 网卡名称 指定的新地址
[root@centos6 ~]#ifconfig eth1 1.1.1.1/24 //此类更改属于临时性更改,将网卡禁用再启动后,更改的地址将会丢失不存在。
eth0 Link encap: Ethernet HWaddr 00:0c:29:E1:F7 :AA
inet addr:192.168.30.128 Bcast:192.168.30.255 Mask:255.255.255.0
inet6 addr: fe80: :20c:29ff:fee1: f7aa/64 Scope:Link
UP BROADCAST RUNNING MULTICASTMTU:1500 Metric :1
RX packets:108 errors:0 dropped:0 over runs:0 fr ame :0
packets:112 errors:o dropped:0 overruns:o carrier: 0
collisions:0 txqueue len: 1000
RX bytes:14732 (14.3 KiB) TX bytes:19861 (19.3 KiB)
eth1 Link encap:Ethernet. Hwaddr 00:0c:29:E1:F7:84
inet addr :1.1.1.1 Bcast :1.1.1.255 Mask:255.255.0.0
inet6 addr: fe80: :20c: 29ff: fee1: f7b4/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric :1
RX packets:117 errors:0 dropped:0 over runs:0 fr ame : 0
TX packets: 33 errors:o dropped:0 overruns:0 carrier: 0
collisions:0 txqueue len: 1000
RX bytes:27583 (26.9 KiB)TX bytes:3362 (3.2 KiB)
另外,广播的是否支持也可进行设置
例如eth1中默认支持广播,存在[-]表示不支持,即:[-]BROADCAST
六、route命令
1.査看: route -n
由于路由器的每个接口一旦配上地址,相邻网段的路由记录会自动生成,故增加IP地址会自动进行路由的增加。
2.添加:route add
根据路由的分类:仅主机路由、网络路由、默认路由
route add[-net 仅主机路由|-host网络路由]
target [netmask Nm] [gw Gw] [[dev] If] 路由添加时要指定网关和接口
[root@centos6 ~]#route -host add 6.6.6.6 gw 3.3.3.100
//假设6.6.6.6为网关地址,3.3.3.100为路由器地址,系统将自行判断需要经过的路径。仅主机方式。
Lroot@centos6 ~]#route -n
Kerne1 IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
6.6.6.6 3.3.3.100 255.255.255.255 UGH 0 0 eth1
192.168.30.0 0.0.0.0 255.255.255.0 U 1 0 eth0
3.3.3.0 0.0.0.0 255.255.255.0 U 0 0 eth1
[root@centos6 ~]#route add -net 8.8.8.8/32 gw 3.3.3.100
//另外一种等价写法。网络方式
SIOCADDRT: Invalid argument
[root@centos6 ~]#route add -net 8.8.8.8 netmask 255.255.255.255 gw 3.3.3.100
[ root@centos6 ~]#route -n
Kernel IP routing tab le
Destination Gateway Genmaskm Flags Metric Ref Use Iface
6.6.6.6 100 255.255.255.255 UGH 0 0 eth1
8.8.8.8 100 255.255.255.255 UGH 0 0 eth1
192.168.30.0 0.0.0.0 255.255.255.0 U 1 0 eth0
3.3.3.0 0.0.0.0 255.255.255.0 U 0 0 eth1
//8.8.8.8由于其本身为一台机器的网络,存在网络的特殊性,故8.8.8.8与6.6.6.6实际相等,仅存在语法的不同。
[root@centos6 ~] #route add -net 10.0.0.0 netmask 255.0.0.0 gw
192.168.30.100[root@centos6 ~] #route -n
//代表一个网段的表达方式,即添加了一条到达10.0.0.0网段的路由记录。
Kerne1 IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
6.6.6.6 3.3.3.100 255.255.255.255 UGH 0 0 eth1
8.8.8.8 3.3.3.100 255.255.255.255 UGH O 0 eth1
192.168.30.0 0.0.0.0 255.255.255.0 U 0 0 eth0
3.3.3.0 0.0.0.0. 255.255.255.0 U 0 0 eth1
10.0.0.0 192.168.30.200 255.0.0.0 UG 0 0 eth0
[root@centos6 ~] #route add -net 100.0.0.0 netmask 255.0.0.0 gw 192.168.3.100[root@centos6 ~] #route -n
Kerne1 IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
6.6.6.6 3.3.3.100 255.255.255.255 UGH 0 eth1
8.8.8.8 3.3.3.100 255.255.255.255 UGH O eth1
192.168.30.0 0.0.0.0 255.255.255.0 U 0 eth0
3.3.3.0 0.0.0.0. 255.255.255.0 U 0 eth1
10.0.0.0 192.168.30.100 255.0.0.0. UG 0 eth0
[root@centos6 ~] #route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.30.200
//下一个路由器的临近本身的接口和当前路由器应该处在同一个网段。当前机器的IP为30.128或3.3,与3.100不处于同一网段,应进行更改。如30.200
[root@centos6 ~] #route add default gw 192.168.30.200
[root@centos6 ~] # -n
Kerne1 IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
6.6.6.6 3.3.3.100 255.255.255.255 UGH 0 eth1
8.8.8.8 3.3.3.100 255.255.255.255 UGH O eth1
192.168.30.0 0.0.0.0 255.255.255.0 U 0 eth0
3.3.3.0 0.0.0.0. 255.255.255.0 U 0 eth1
10.0.0.0 192.168.30.100 255.0.0.0. UG 0 eth0
[root@centos6 ~] #route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.30.2
//增加路由记录
以上格式同样可以改为-net 10.0.0.0 netmask 255.0.0.0,但不如前者简洁。
[root@centos6 ~] #route add -net 0.0.0.0 netmask 0.0.0.0 gw 3.3.3.100
删除
两个路由即两个到达位置网的路径,与对方连接时并不能明确具体线路,此时需要删除一条路径。
[root@centos6 ~] #route del default gw 192.168.30.2
[root@centos6 ~] # -n
Destination Gateway Genmask Flags Metric Ref Use Iface
6.6.6.6 3.3.3.100 255.255.255.255 UGH 0 0 eth1
8.8.8.8 3.3.3.100 255.255.255.255 UGH O 0 eth1
192.168.30.0 0.0.0.0 255.255.255.0 U 0 0 eth0
3.3.3.0 0.0.0.0. 255.255.255.0 U 0 0 eth1
100.0.0.0 192.168.30.200 255.0.0.0 UG 0 0 eth0
0.0.0.0 3.3.3.100 0.0.0.0 UG 0 0 eth1
[root@centos6 ~] # -n
[root@centos6 ~] #route dle -host 6.6.6.6
[root@centos6 ~] # -n
Destination Gateway Genmask Flags Metric Ref Use Iface
8.8.8.8 3.3.3.100 255.255.255.255 UGH O 0 eth1
192.168.30.0 0.0.0.0 255.255.255.0 U 0 0 eth0
3.3.3.0 0.0.0.0. 255.255.255.0 U 0 0 eth1
100.0.0.0 192.168.30.200 255.0.0.0 UG 0 0 eth0
0.0.0.0 3.3.3.100 0.0.0.0 UG 0 0 eth1
[root@centos6 ~] #route dle -net 100.0.0.0 netmask 255.255.0.0
//网段删除
[root@centos6 ~] # -n
Destination Gateway Genmask Flags Metric Ref Use Iface
8.8.8.8 3.3.3.100 255.255.255.255 UGH O 0 eth1
192.168.30.0 0.0.0.0 255.255.255.0 U 0 0 eth0
3.3.3.0 0.0.0.0. 255.255.255.0 U 0 0 eth1
0.0.0.0 3.3.3.100 0.0.0.0 UG 0 0 eth1
此些记录并非真正被保存,当电脑进行重启后,记录将会失去,仅系统自带的将被保存。而当通过网络服务重启的方法时,丢失的是部分命令。
[root@centos7~] # -n
Kerne1 IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.20.0.1 0.0.0.0 UG 100 0 ens37
172.20.0.0 0.0.0.0 255.255.0.0 U 100 0 ens37
192.168.30.0 0.0.0.0 255.255.255.0 U 100 0 ens33
[root@centos7 ~] #route del default gw 172.20.0.1
[root@centos7 ~] # -n
Kerne1 IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
172.20.0.0 0.0.0.0 255.255.0.0 U 100 0 ens37
192.168.30.0 0.0.0.0 255.255.255.0 U 100 0 ens33
进行centos6、7地址的各自配备
centos7
ens37:192.168.100/24
centos6
eyth1:192.168.2.100/24
两台主机经分辨可得出不在同一网段的结论。可使用ifconfig进行地址的临时该改变。
[root@centos7~] #ifconfog ens37 192.168.1.100.24/
//临时改变地址
[root@centos7~] #route -n
//查看路由,发现自动添加了本机器新IP对应的网段路由
[root@centos6~] #ifconfig eth1 192.168.2.100/24
[root@centos6~] #ifconfig
[root@centos6~] #route -n //查看路由,发现本机器同样自动添加了新IP对应的网段路由
由于两台主机不处于同一网络网段中,故在centos7中无路径,进行ping192.168.2.100操作会出现网络不可到达的提示。物理上两主机是相通的,使路由配通,即添加路由,即可实现此目的。
[root@centos7~]#ping192.168.2.100
[root@centos7~]#route add default dev ens37
[root@centos7~]#ping192.168.2.100 //再次进行ping命令
相当于现今两台电脑物理上相连于同一台交换机,但各自配置了不同的网段IP。相通理论上应加网关,正常情况下应该配置路由器。如今仅添加了路由,没有路由器。
只要通过ens37网卡发出,就能到达任何未知网络,ens37于centos6的两个主机位于同一网段,通过arp广播形式寻找,实现了相通。
此种情况出现时,添加网关即可解决。
[root@centos6~]#route add default dev eth1
//加了路由未加网关,仅加了接口
路由表十分重要,当路由表拥有路径之后,便可按照其内里定义的路径进行通讯。在计算机中的通讯即由路由表转化数据实现。
一般情况下,添加地址就会自动生成路由记录。但由于没有对应127.0.0.1的地址,即每人访问此地址时不会通向互联网,尽在局域网中本地打转。
由于子网掩码为255.0.0.0,意味着但凡为127开头都无法走出局域网通向互联网。
现今使网卡centos6和centos7分别回归默认
[root@centos7 ~]#ifconfig lo 6.6.6.6/32
//增加回环网卡
[root@centos6 ~]#ifconfig lo 8.8.8.8/32
//再次在centos6中为回环网卡增加地址,则centos6中地址为192.168.2.100,centos7中地址为192.168.30.100
[root@centos7 ~]#ping 8.8.8.8 //若在centos7中进行8.8.8.8的ping操作,系统显示不存在到达8.8.8.8的路由,为实现目的,进行默认路由到添加。
[root@centos7 ~]#route -n
[root@centos7 ~]#route add default fev ens37
[root@centos7 ~]#ping 8.8.8.8
//再次进行ping操作
[root@centos6 ~]#tcpdump -i eth1 icmp
//抓包命令
查询可知发出的数据包centos6处已然接收到。面对此种有去无回的情况,在回去的时候同样需要添加路由。
[root@centos6~]#route add default dev eth1
此时,两个主机进行了想通
加网关、IP地址的本质是为了添加路由。若路由出现错误,即使配配备了地址同样不能够使用。路由为重中之重。
现今centos7存在两个地址:192.168.30.100;172.20.102.77
centos6中存在两个地址:192.168.30.128;172.18.108.3
两地址不相通
[root@centos7 ~]#ping 192.168.30.128
//两主机都为仅主机模式,可以进行正常的相ping命令。
[root@centos7 ~]#delete del -net 192.168.30.0 netmask 255.255.255.0 dev ens33
//此删除执行后,网络被断掉
尽管地址表面上仍然能够查询,但路由被删掉,故此时进行ping操作,不能实现相同。
此种情况中,IP地址不存在任何问题,但由于路由出现状况,使得命令无法正常执行。
3.目标: 192.168.1.3 网关: 172.16.0.1
route add -host 192.168.1.3 qw 172.16.0.1 dev ethO
目标:192.168.0.0网关:172.16.0.1
route add -net 192.168.0.0 netmask 255.255.255.0