配置路由器
在学习linux的过程中,网络的配置必不可少,如何在linux系统上配置路由网络,从而保证不在同网络的两个主机之间可以进行通信。
一、网段设置
首先需要说明的是,我们的实验是在五个虚拟机上进行的,其操作系统均为linux系统。其中两个虚拟机分别为主机A、B,另外三个虚拟机做路由。在确定不同的主机的功能以及角色之后,我们需要首先对其网卡进行配置。其具体的配置如下图所示:
划分网段的时候需要注意不要划分错误,不然后期会出现直连网络ping不通的现象。同一个路由的不同网卡的网段也是不同的,所以需要特别区分网卡和网段相对应。
二、查看网卡信息
使用ifconfig命令查看网卡的名称以及IP地址,如果网卡名称不是标准的eth0和eth1,则vim /etc/udev/rules.d/70-persistent-net.rules查看并修改相应的网卡信息,与/etc/sysconfig/network-scripts/中的文件信息保持一致即可,但是最好规范配置以便于管理。
三、修改配置文件
vim/etc/sysconfig/network-scripts/[一般和网卡同名文件名]
注:不需要加网关,只需要配置-好IP地址即可,因为路由器中的路由表就替代了网关的功能。因为一个路由器有两个接口,所以如果network-scripts没有对应的配置文件就手动加入进去。
3.1 IP、MASK、GW、DNS相关配置文件
/etc/sysconfig/network-scripts/ifcfg-IFACE
路由相关的配置文件:
/etc/sysconfig/network-scripts/route-IFACE
/etc/sysconfig/network-scripts/ifcfg-IFACE:
内容详解:
ONBOOT:在系统引导时是否激活此设备
TYPE:接口类型;常见有的Ethernet,Bridge
UUID:设备的惟一标识
IPADDR:指明IP地址
NETMASK:子网掩码
GATEWAY: 默认网关
DNS1:第一个DNS服务器指向
DNS2:第二个DNS服务器指向
USERCTL:普通用户是否可控制此设备
PEERDNS:如果BOOTPROTO的值为“dhcp”,是否允许dhcpserver分配的dns服务器指向信息直接覆盖至/etc/resolv.conf文件中
说明参考:
/usr/share/doc/initscripts-9.49.30/sysconfig.txt
DEVICE:此配置文件应用到的设备
HWADDR:对应的设备的MAC地址
BOOTPROTO:激活此设备时使用的地址配置协议,常用的dhcp, static, none, bootp
NM_CONTROLLED:NM是NetworkManager的简写,此网卡是否接受NM控制;建议CentOS6为“no”
3.2禁用networkmanager服务
service NetworkManagerstop
CENTOS6中的networkmanager服务会影响配置,从而出错,可以禁用掉。
四、添加路由
route add –net10.3.0.0/16 gw 10.2.0.201 dev eth1(添加网络路由)
如果一个路由上的存在除了目标网络网络ID不同,其他都相同的情况可以将两者合并为一个默认路由(即0.0.0.0)
4.1路由管理命令
查看:route-n
添加:routeadd
route add [-net|-host] target [netmask Nm] [gwGw][[dev] If]
目标:192.168.1.3网关:172.16.0.1
# route add -host192.168.1.3 gw172.16.0.1 dev eth0
目标:192.168.0.0 网关:172.16.0.1
# route add -net192.168.0.0 netmask 255.255.255.0 gw172.16.0.1 dev eth0
# route add -net192.168.0.0/24 gw172.16.0.1 dev eth0
五、测试
5.1 跟踪路由
traceroute 10.4.0.100/tracepath 10.4.0.100
5.2 动态跟踪路由
mtr 10.4.0.100
六、启动转发功能
echo 1 > /proc/sys/net/ipv4/ip_forward
上述内容仅仅是大致讲述了配置路由的过程,但是其中会涉及到很多相应的知识,为了便于总结,并未在上文中详细讲解,接下来将涉及到的知识做以下总结:
IP地址的配置
一、修改文件
1、vim/etc/sysconfig/network-scripts/ifcfg-eth0(最好和网卡同名也可不同名)
DEVICE=[设备名](必须和物理网卡匹配)
BOOTPROTO=dhcp|static |none(dhcp表示自动获取,后两者表示手工分配)
IPADDR=172.17.0.123
NETMASK=255.255.0.0
[或者使用PREFIX=16来表示子网掩码,和上面的二选一]
GATEWAY=172.17.0.1(路由器某一个接口的地址)
DNS1=114.114.114.114
DNS2=8.8.8.8
2、配置网关的另一个文件
[[email protected]~]# vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=muyongxue6
GATEWAY=172.17.0.1
(当两个文件的网关配置不相同时,以/etc/sysconfig/network-scripts/ifcfg-eth0文件中的配置为准)
二、查看网关是否配置成功
1、route –n
[[email protected]]# route -n
Kernel IProuting table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.163.0 0.0.0.0 255.255.255.0 U 1 0 0 eth2
172.17.0.0 0.0.0.0 255.255.0.0 U 1 0 0 eth3
0.0.0.0 172.17.0.1 0.0.0.0 UG 0 0 0 eth3
(当网关配置成功时,Destination的值是0.0.0.0,若不是四个零则表示未配置网关,网关地址和IP地址应该在一个网段)
2、netstat -nr
[[email protected]]# netstat -nr
Kernel IProuting table
Destination Gateway Genmask Flags MSS Window irtt Iface
192.168.163.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth3
0.0.0.0 172.17.0.1 0.0.0.0 UG 0 0 0 eth3
三、重启网络服务
service networkrestart
修改网卡名
一、修改对应配置文件
vim /etc/udev/rules.d/70-persistent-net.rules
二、查看网卡对应的网卡驱动
ethtool –i eth2 (此时虽然已经修改过相应的配置文件,删除了之前的eht0和eth1,并将eth3和eth4相应的改为0和1,但是文件并未生效,所以查看网卡驱动时应该输入原来的网卡名,而不是修改过的网卡名)
三、卸载并重新安装网卡驱动
rmmod e1000/modprobe –r e1000(卸载)
modprobe e1000(安装)
注:在前面一系列修改网卡名的操作成功之后,此时可以进入修改IP地址,然后按照IP修改的办法能够顺利进行。(这样的顺序比较顺利,不会产生太多的问题,但是如果了解原理的话顺序变化一下也是可以解决的)。
重启网络服务时,系统会重新读取配置文件,当找不到对应的网卡时会自动添加配置文件中的内容。
配置文件要和实际网卡保持一致,没有相应的配置网卡就不能存在无用的配置文件,否则计算机会尝试读取文件,从而会出现报错的现象。
ping的用法
命令参数:
-d 使用Socket的SO_DEBUG功能。
-f 极限检测。大量且快速地送网络封包给一台机器,看它的回应。
-n 只输出数值。
-q 不显示任何传送封包的信息,只显示最后的结果。
-r 忽略普通的RoutingTable,直接将数据包送到远端主机上。通常是查看本机的网络接口是否有问题。
-R 记录路由过程。
-v 详细显示指令的执行过程。
<p>-c 数目:在发送指定数目的包后停止。
-i 秒数:设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。
-I 网络界面:使用指定的网络界面送出数据包。
-l 前置载入:设置在送出要求信息之前,先行发出的数据包。
-p 范本样式:设置填满数据包的范本样式。
-s 字节数:指定发送的数据字节数,预设值是56,加上8字节的ICMP头,一共是64ICMP数据字节。
-t 存活数值:设置存活数值TTL的大小。