linux中配置路由器

配置路由器

在学习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的大小。

时间: 2024-11-06 20:57:45

linux中配置路由器的相关文章

开发电子商城2(linux中配置jdk)

1.下载jdk版本     http://pan.baidu.com/s/1eR16I6e 2:删除centos中自带的jdk    //2.1 先查看linux中是否装过 并且找到安装的路径 rpm -qa |grep jdk       更多rpm 命令:请参照:http://man.linuxde.net/rpm    //2.2 若是装有jdk 卸载       yum remove ****    //2.3  java -version 看是否删除陈功  3 在usr 目录下创建ja

网络安全系列之三十九 在Linux中配置访问控制列表ACL

Linux系统中传统的权限设置方法比较简单,仅有3种身份.3种权限而已,通过配合chmod和chown等命令来对文件的权限或所有者进行设置.如果要进行比较复杂的权限设定,例如某个目录要开放给某个特定的使用者使用时,这些传统的方法就无法满足要求了. 例如对于/home/project目录,该目录的所有者是student用户,所属组是users组,预设权限是770.现在有个名为natasha的用户,属于natasha组,希望能够对/home/project目录具有读写执行权限:还有一个名为instr

讲述一下自己在linux中配置ftp服务的经历

本人大二小白一名,从大一下学期就开始接触到linux,当时看到学校每次让我们下载资源都在一个ftp服务器中,感觉特别的高大上,所以自己就想什么时候自己能够拥有自己的ftp服务器,自己放一点东西进去,让别人访问. 那么,就从那时开始,就有了一系列的艰难旅程.... 要不然先不说经历了,就先直捅技术吧,最后在说经历,要不然有些人就懒得看这篇初级又傻傻的文章了. 小白,那就需要手把手的教,同时还要图文并茂. 第一步: 自己的linux必须是要有的,如果没有,而且你还不会装,那么就可以看一下小弟我以前的

linux中配置yum源

1.配置163或者阿里云yum源: 阿里云yum源地址:https://mirrors.aliyun.com/centos/6.9/os/x86_64/Packages/ 阿里云给出的解决办法:https://mirrors.aliyun.com/centos 点击centos后面的帮助即可看到: 1.备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 2.下载新的CentOS-Base

Linux中配置samba服务器,实现局域网中文件共享。

linux中搭建samba服务,实现局域网中文件共享 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务. 实验环境:Linux6.虚拟windows7/10.yum仓库.同一网段. `rpm -q samba` //查看Samba安装与否 `yum install /mnt/Pa

Linux中配置ftp传输

ftp的配置及使用 1.安装ftp:yum install -y vsftpd 出现如图所示,则表示安装成功 2.关闭防火墙:service iptables stop 3.创建一个用户用于ftp传输(或者用已存在的) adduser hxc 4.设置密码 passwd hxcftp  (再输入两遍密码) 5.切换到ftp的配置目录:cd /etc/vsftpd/ 6.编辑该目录下的文件user_list : vim user_list 7.编辑里面的内容,将需要的用户添加进该文件夹中,这里增加

如何在 Linux 中配置基于密钥认证的 SSH

什么是基于 SSH 密钥的认证? 众所周知,Secure Shell,又称 SSH,是允许你通过无安全网络(例如 Internet)和远程系统之间安全访问/通信的加密网络协议.无论何时使用 SSH 在无安全网络上发送数据,它都会在源系统上自动地被加密,并且在目的系统上解密.SSH 提供了四种加密方式,基于密码认证,基于密钥认证,基于主机认证和键盘认证.最常用的认证方式是基于密码认证和基于密钥认证. 在基于密码认证中,你需要的仅仅是远程系统上用户的密码.如果你知道远程用户的密码,你可以使用 ssh

如何在 Linux 中配置 sudo 访问权限

Linux 系统中 root 用户拥有 Linux 中全部控制权力.Linux 系统中 root 是拥有最高权力的用户,可以在系统中实施任意的行为. 如果其他用户想去实施一些行为,不能为所有人都提供 root 访问权限.因为如果他或她做了一些错误的操作,没有办法去纠正它. 为了解决这个问题,有什么方案吗? 我们可以把 sudo 权限发放给相应的用户来克服这种情况. sudo 命令提供了一种机制,它可以在不用分享 root 用户的密码的前提下,为信任的用户提供系统的管理权限. 他们可以执行大部分的

在 Linux 中配置 SFTP 环境

做运维的朋友,应该经常会碰到这样的问题,研发需要新上一个web项目,需要上传文件到服务器上,并且仅仅是上传项目,解决方法一边有两种,sftp和ftp,今天讲如何使用sftp让系统用户用户上传项目的权限,并且实现chroot和无法使用ssh登录到系统: SFTP是指SSH文件传输协议(SSH File Transfer protocol)或安全文件传输协议(Secure File Transfer Protocol),它提供了可信数据流下的文件访问.文件传输以及文件管理功能.当我们为SFTP配置c