配置路由器

在学习linux的过程中,网络的配置必不可少,如何在linux系统上配置路由网络,从而保证不在同网络的两个主机之间可以进行通信。

一、网段设置

首先需要说明的是,我们的实验是在五个虚拟机上进行的,其操作系统均为linux系统。其中两个虚拟机分别为主机AB,另外三个虚拟机做路由。在确定不同的主机的功能以及角色之后,我们需要首先对其网卡进行配置。其具体的配置如下图所示:

wKiom1m8xn2yK7W9AADGRMeP8H0542.png

    划分网段的时候需要注意不要划分错误,不然后期会出现直连网络ping不通的现象。同一个路由的不同网卡的网段也是不同的,所以需要特别区分网卡和网段相对应。

二、查看网卡信息

使用ifconfig命令查看网卡的名称以及IP地址,如果网卡名称不是标准的eth0eth1,则vim /etc/udev/rules.d/70-persistent-net.rules查看并修改相应的网卡信息,与/etc/sysconfig/network-scripts/中的文件信息保持一致即可,但是最好规范配置以便于管理。

三、修改配置文件

vim/etc/sysconfig/network-scripts/[一般和网卡同名文件名]

注:不需要加网关,只需要配置-IP地址即可,因为路由器中的路由表就替代了网关的功能。因为一个路由器有两个接口,所以如果network-scripts没有对应的配置文件就手动加入进去。

 

3.1 IPMASKGWDNS相关配置文件

/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_CONTROLLEDNMNetworkManager的简写,此网卡是否接受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

spacer.gif

 

 

上述内容仅仅是大致讲述了配置路由的过程,但是其中会涉及到很多相应的知识,为了便于总结,并未在上文中详细讲解,接下来将涉及到的知识做以下总结:

IP地址的配置

一、修改文件

1vim/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、配置网关的另一个文件

[root@muyongxue6~]# vim /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=muyongxue6

GATEWAY=172.17.0.1

(当两个文件的网关配置不相同时,以/etc/sysconfig/network-scripts/ifcfg-eth0文件中的配置为准

二、查看网关是否配置成功

1route –n

[root@muyongxue6network-scripts]# 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地址应该在一个网段)

2netstat -nr

[root@muyongxue6network-scripts]# 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 (此时虽然已经修改过相应的配置文件,删除了之前的eht0eth1,并将eth3eth4相应的改为01,但是文件并未生效,所以查看网卡驱动时应该输入原来的网卡名,而不是修改过的网卡名)

三、卸载并重新安装网卡驱动

rmmod e1000/modprobe –r e1000(卸载)

modprobe e1000(安装)

 

注:在前面一系列修改网卡名的操作成功之后,此时可以进入修改IP地址,然后按照IP修改的办法能够顺利进行。(这样的顺序比较顺利,不会产生太多的问题,但是如果了解原理的话顺序变化一下也是可以解决的)。

     

重启网络服务时,系统会重新读取配置文件,当找不到对应的网卡时会自动添加配置文件中的内容。

配置文件要和实际网卡保持一致,没有相应的配置网卡就不能存在无用的配置文件,否则计算机会尝试读取文件,从而会出现报错的现象。

 

ping的用法

命令参数:

-d 使用SocketSO_DEBUG功能。

-f 极限检测。大量且快速地送网络封包给一台机器,看它的回应。

-n 只输出数值。

-q 不显示任何传送封包的信息,只显示最后的结果。

-r 忽略普通的RoutingTable,直接将数据包送到远端主机上。通常是查看本机的网络接口是否有问题。

-R 记录路由过程。

-v 详细显示指令的执行过程。

<p>-c 数目:在发送指定数目的包后停止。

-i 秒数:设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。

-I 网络界面:使用指定的网络界面送出数据包。

-l 前置载入:设置在送出要求信息之前,先行发出的数据包。

-p 范本样式:设置填满数据包的范本样式。

-s 字节数:指定发送的数据字节数,预设值是56,加上8字节的ICMP头,一共是64ICMP数据字节。

-t 存活数值:设置存活数值TTL的大小。