linux主机充当路由器

2023-11-07 23:59
文章标签 linux 路由器 主机 充当

本文主要是介绍linux主机充当路由器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

2018-03-08 15:13:04

一、静态路由工作原理

  这里画图就拿路由器的图来表示。由于数据在传输过程中,只有相同网段才会在网络中发送广播,只有该网段中有广播寻找的主机,才可以建立连接,在二层设备中,只认识MAC地址,不认识 ip地址,只有在与其他网段中的某一个IP地址进行通讯时,才会经过路由器,由路由器转发,但是路由器转发也需要一条路来寻找要通讯的地址,所以就用到了路由,这里主要介绍静态路由。如下图所示
linux主机充当路由器
  在图中,如果192.168.1.1地址需要访问192.168.1.2,是可以直接建立通讯的,如果192.168.1.1想要访问192.168.2.2这个地址呢?他不知道该怎么才可以找到192.168.2.0/24这个网段,他是可以找到192.168.1.2这个地址的,所以就需要在R2路由器上配置一条静态路由,当192.168.1.1这个地址需要寻找192.168.2.2这个地址时,就可以直接指向192.168.1.2这个地址,然后在通过刚才给的一条静态路由找到192.168.2.2,但是发送数据都是双向的,如果光有过去的路,没有回来的路也是不行的,所以需要在告诉R3怎么样才可以找到R1来回应R1发送过来的数据,所以,配置路由要双向配置。

二、linux充当路由器的VMware虚拟机的准备工作

这里的linux主机,就那VMware虚拟机来实现。实现四个路由两个PC机之间的跨路由访问。
下面实验环境就拿以下拓扑来设置虚拟机,
linux主机充当路由器

  1. 首先要在虚拟中设置多个VMnet,这里有多个VMnet,作用就是把多个主机连接到不同交换机上,使其不再一个内网中。
    设置虚拟网络编辑器
    linux主机充当路由器
    这里需要点击更改设置才可以添加VMnet
    linux主机充当路由器
    添加需要的VMnet就可以了。
    linux主机充当路由器
    2.下面就开始克隆主机,首先要准备一个设置好基本配置的主机,然后在克隆6台主机。
    linux主机充当路由器
    3.网卡的设置
    克隆的linux虚拟机网卡的MAC地址需要重新生成,否则会跟其他的linux虚拟机网卡MAC地址冲突。
    linux主机充当路由器
    4.根据拓扑图来把每一台主机的网卡连接到不同的VMnet中,这里就拿PC1来举例,其他主机方法相同。linux主机充当路由器

    三、linux主机中的准备工作

    1.因为虚拟机是克隆的,网卡名需要重新修改,否则系统默认会以为eth0和eth1被占用,直接把后面分配,这里就修改一下,根据一下网卡的MAC地址,更改名字。

[root@centos6 ~]#vim /etc/udev/rules.d/70-persistent-net.rules
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:12:6b:88", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:12:6b:92", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:12:6b:9c", ATTR{type}=="1", KERNEL=="eth*", NAME="magedu"

2.然后配置网卡配置文件,其他网卡跟主机也如下

[root@centos6 ~]#vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=1.1.1.1
PREFIX=24

3.卸载网卡模块和加载网卡,这一步需要在虚拟机里面做,否则远程会断

[root@centos6 ~]#modprobe -r e1000
[root@centos6 ~]#modprobe  e1000

4.重启网卡服务,也可以用service network restart ,用这个网络服务重启服务,则需要把这个NetworkManager 服务停止

[root@centos6 ~]#service NetworkManager restart
Stopping NetworkManager daemon:                            [FAILED]
Setting network parameters...                              [  OK  ]
Starting NetworkManager daemon:                            [  OK  ]

5.增加路由功能

[root@centos6 ~]#echo 1 > /proc/sys/net/ipv4/ip_forward       #该进程本来是0,需要改成1,临时,重启后不再生效
[root@centos6 ~]#vim /etc/sysctl.conf         #永久开启路由功能需要更改配置文件
net.ipv4.ip_forward = 1

6.清空防火墙策略防火墙

[root@centos6 ~]#iptables -F                   #临时生效 
[root@centos6 ~]#service iptables save       #保存
iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]

7.配置路由功能,根据下图更改添加路由即可

[root@centos6 ~]#route -n     #查看路由信息
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.86.0    0.0.0.0         255.255.255.0   U     0      0        0 eth1
172.18.0.0      0.0.0.0         255.255.0.0     U     0      0        0 eth0
0.0.0.0         172.18.0.1      0.0.0.0         UG    0      0        0 eth0
[root@centos6 ~]#route add -net 1.1.1.0/24 gw 2.2.2.251    #添加路由

linux主机充当路由器

这篇关于linux主机充当路由器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/366830

相关文章

mysqld_multi在Linux服务器上运行多个MySQL实例

《mysqld_multi在Linux服务器上运行多个MySQL实例》在Linux系统上使用mysqld_multi来启动和管理多个MySQL实例是一种常见的做法,这种方式允许你在同一台机器上运行多个... 目录1. 安装mysql2. 配置文件示例配置文件3. 创建数据目录4. 启动和管理实例启动所有实例

Linux内存泄露的原因排查和解决方案(内存管理方法)

《Linux内存泄露的原因排查和解决方案(内存管理方法)》文章主要介绍了运维团队在Linux处理LB服务内存暴涨、内存报警问题的过程,从发现问题、排查原因到制定解决方案,并从中学习了Linux内存管理... 目录一、问题二、排查过程三、解决方案四、内存管理方法1)linux内存寻址2)Linux分页机制3)

VScode连接远程Linux服务器环境配置图文教程

《VScode连接远程Linux服务器环境配置图文教程》:本文主要介绍如何安装和配置VSCode,包括安装步骤、环境配置(如汉化包、远程SSH连接)、语言包安装(如C/C++插件)等,文中给出了详... 目录一、安装vscode二、环境配置1.中文汉化包2.安装remote-ssh,用于远程连接2.1安装2

Linux中shell解析脚本的通配符、元字符、转义符说明

《Linux中shell解析脚本的通配符、元字符、转义符说明》:本文主要介绍shell通配符、元字符、转义符以及shell解析脚本的过程,通配符用于路径扩展,元字符用于多命令分割,转义符用于将特殊... 目录一、linux shell通配符(wildcard)二、shell元字符(特殊字符 Meta)三、s

Linux之软件包管理器yum详解

《Linux之软件包管理器yum详解》文章介绍了现代类Unix操作系统中软件包管理和包存储库的工作原理,以及如何使用包管理器如yum来安装、更新和卸载软件,文章还介绍了如何配置yum源,更新系统软件包... 目录软件包yumyum语法yum常用命令yum源配置文件介绍更新yum源查看已经安装软件的方法总结软

linux报错INFO:task xxxxxx:634 blocked for more than 120 seconds.三种解决方式

《linux报错INFO:taskxxxxxx:634blockedformorethan120seconds.三种解决方式》文章描述了一个Linux最小系统运行时出现的“hung_ta... 目录1.问题描述2.解决办法2.1 缩小文件系统缓存大小2.2 修改系统IO调度策略2.3 取消120秒时间限制3

Linux alias的三种使用场景方式

《Linuxalias的三种使用场景方式》文章介绍了Linux中`alias`命令的三种使用场景:临时别名、用户级别别名和系统级别别名,临时别名仅在当前终端有效,用户级别别名在当前用户下所有终端有效... 目录linux alias三种使用场景一次性适用于当前用户全局生效,所有用户都可调用删除总结Linux

Linux:alias如何设置永久生效

《Linux:alias如何设置永久生效》在Linux中设置别名永久生效的步骤包括:在/root/.bashrc文件中配置别名,保存并退出,然后使用source命令(或点命令)使配置立即生效,这样,别... 目录linux:alias设置永久生效步骤保存退出后功能总结Linux:alias设置永久生效步骤

Linux使用fdisk进行磁盘的相关操作

《Linux使用fdisk进行磁盘的相关操作》fdisk命令是Linux中用于管理磁盘分区的强大文本实用程序,这篇文章主要为大家详细介绍了如何使用fdisk进行磁盘的相关操作,需要的可以了解下... 目录简介基本语法示例用法列出所有分区查看指定磁盘的区分管理指定的磁盘进入交互式模式创建一个新的分区删除一个存

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动