Linux主机实现简单的路由转发功能

只要在Linux主机上添加一些简单的路由条目, 这些Linux主机就可以充当简单路由器的功能。

在实际生产坏境中, 当我们需要一台路由器简单作为转发数据, 但是手上却没有路由器的话, 我们就可以指定一台Linux主机充当一个简单的路由器,实现路由简单的转发。

上面所诉尤其强调简单, 所以说只是实现简单的路由的功能, 如果要实现非常复杂的功能的话, 一台Linux主机可能无法实现你想要的条件。

实验坏境: 基于VMware上的4台虚拟主机,主机名为R1、R2的两台主机(都是centos6.8系统)充当路由器, 而主机名Centos7.2(1)和Centos7.2(2)两台主机作为测试主机。

下面是实验拓扑图:

下面是实验步骤:

1>. 防火墙会影响路由转发功能, 首先清空R1和R2两台主机上的防火墙规则。

[[email protected] ~]# iptables -F
[[email protected] ~]# iptables -F

2> Linux系统,默认路由转发功能是关闭的,我们需要修改配置文件,去将路由转发功能打开。

路由转发的配置文件/proc/sys/net/ipv4/ip_forward

查看和设置R1上的/proc/sys/net/ipv4/ip_forward

[[email protected] ~]# cat /proc/sys/net/ipv4/ip_forward
0
[[email protected] ~]# echo "1" > /proc/sys/net/ipv4/ip_forward
[[email protected] ~]# cat /proc/sys/net/ipv4/ip_forward
1

查看和设置R2上的/proc/sys/net/ipv4/ip_forward

[[email protected] ~]# cat /proc/sys/net/ipv4/ip_forward
0
[[email protected] ~]# echo "1" > /proc/sys/net/ipv4/ip_forward
[[email protected] ~]# cat /proc/sys/net/ipv4/ip_forward
1

3>. 給R1主机eth0和eth1接口配置ip地址

[[email protected] network-scripts]# cat ifcfg-eth0
DEVICE=eth0
HWADDR=00:0C:29:B3:32:CC
TYPE=Ethernet
UUID=a7f94e4f-1f87-439f-a044-9888cc8ddc7c
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
IPADDR=10.0.0.2
PREFIX=8
[[email protected] network-scripts]# cat ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=none
BOOTPROTO=static
IPADDR=172.16.0.1
PREFIX=16

4>.給R2主机eth1和eth2接口配置ip地址

[[email protected] network-scripts]# cat ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=172.16.0.2
PREFIX=16
[[email protected] network-scripts]# cat ifcfg-eth2
DEVICE=eth2
BOOTPROTO=none
IPADDR=192.168.1.1
NETMASK=255.255.255.0

5>. 临时指定主机Centos7.2(1)和Centos7.2(2)ip地址。

临时指定Centos7.2(1)eno16777736的ip地址:

[[email protected] sysconfig]# ifconfig eno16777736 10.0.0.1

临时指定Centos7.2(2)eno16777736的ip地址:

[[email protected] ~]# ifconfig eno16777736 192.168.1.2

6>. ip地址已经都配置好了,现在要在路由器上添加一些路由规则,也需要给测试主机添加网关配置。

a>. 在R1主机上添加通往192.168.1.0网段的路由条目

[[email protected] network-scripts]# route add -net 192.168.1.0/24 gw 172.16.0.2 dev eth1

查看主机R1的路由条目:

[[email protected] network-scripts]# ip route
192.168.96.0/24 dev eth2  proto kernel  scope link  src 192.168.96.137  metric 1 
192.168.1.0/24 via 172.16.0.2 dev eth1 
172.16.0.0/16 dev eth1  proto kernel  scope link  src 172.16.0.1  metric 1 
169.254.0.0/16 dev eth0  scope link  metric 1002 
10.0.0.0/8 dev eth0  proto kernel  scope link  src 10.0.0.2

b>. 在R2主机上添加通往192.168.1.0网段的路由条目

[[email protected] network-scripts]# route add -net 10.0.0.0/8 gw 172.16.0.1 dev eth1

查看主机R2的路由条目:

[[email protected] network-scripts]# ip route
192.168.96.0/24 dev eth3  proto kernel  scope link  src 192.168.96.139  metric 1 
192.168.1.0/24 dev eth2  proto kernel  scope link  src 192.168.1.1  metric 1 
172.16.0.0/16 dev eth1  proto kernel  scope link  src 172.16.0.2  metric 1 
10.0.0.0/8 via 172.16.0.1 dev eth1

c>. 给测试两台主机centos7.2(1)和centos7.2(2)添加指定网关

[[email protected] sysconfig]# route add -net default gw 10.0.0.2
[[email protected] ~]# route add -net default gw 192.168.1.1

7>. 测试:

用centos7.2(1 ) 去 ping centos7.2(2)的主机:

[[email protected] sysconfig]# ping 192.168.1.2
PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data.
64 bytes from 192.168.1.2: icmp_seq=1 ttl=62 time=16.2 ms
64 bytes from 192.168.1.2: icmp_seq=2 ttl=62 time=1.02 ms
64 bytes from 192.168.1.2: icmp_seq=3 ttl=62 time=1.39 ms
64 bytes from 192.168.1.2: icmp_seq=4 ttl=62 time=1.06 ms
....

很显然, 两台主机之间是互相通的了。

时间: 2024-08-24 09:54:45

Linux主机实现简单的路由转发功能的相关文章

Linux主机上通过iptables实现NAT功能

实验:如下模型,node1为内网主机,IP地址为192.168.10.2:node3为外网主机,IP地址为10.72.37.177(假设此地址为公网地址),node3上提供web server和FTP Server的功能:内网主机node2主机有2块网卡,地址分别为eth0:192.168.10.1和eth2:10.72.37.91(假设此地址为公网地址): 现要求在node2上通过iptables配置实现SNAT功能,并做如下限制: 1.node1可以访问node3提供的web服务和ftp服务

好用的linux开启路由转发功能。

标记一下,今天想让一台redhat7开通iptables的nat转发功能,找了半天. A服务器:192.168.30.20/24 B服务器:192.168.30.1/24,eth0;  192.168.40.1/24,eth1 c服务器:192.168.40.20/24 目标:让A可以ping和ssh到c机器.这就需要通过B服务器来跳转. 操作过程: 1.在B服务器上开启内核路由转发参数 临时生效: echo "1" > /proc/sys/net/ipv4/ip_forward

linux内部路由转发功能与11选5平台搭建

一组内部机器需要连接外网,11选5平台搭建(企 娥:217 1793 408)则需要找一台机器,即可以连接外网,内网机器也可以连接. 因此将这台外网机器当做路由器,做路由转发 1.在需要做路由转发的机器上执行下面命令 1[[email protected] ~]# echo 1 > /proc/sys/net/ipv4/ip_forward但一般不建议,下次开机它又会变为0 修改它的配置文件,把net.ipv4.ip_forward = 1 [[email protected] ~]# vim

linux开启内部路由转发功能

新增了一批机器,急需部署环境,在做完所有初始化后,发现安装一些软件,内部机器还是需要连接外网.对外公网就有两台,故选其中一台,开启路由转么功能 1.A这台机器  [[email protected] ~]# echo 1 > /proc/sys/net/ipv4/ip_forward 但一般不建议,下次开机它又会变为0 修改它的配置文件,把net.ipv4.ip_forward = 1 [[email protected] ~]# vim /etc/sysctl.conf # Kernel sy

linux主机vps简单性能测试

第一,CPU.内存.硬盘检测 cat /proc/cpuinfo (查看CPU信息) cat /proc/meminfo (查看内存信息) df -lh (查看硬盘信息) 这个命令可以看到我们购买的VPS CPU信息是否与官方标准一样,有些时候告诉我们的与实际检测的不同. 第二,硬盘IO性能测试 dd if=/dev/zero of=test bs=64k count=4k oflag=dsync dd if=/dev/zero of=test bs=8k count=256k conv=fda

linux系统端口映射(路由转发)

首先应该做的是/etc/sysctl.conf配置文件的 net.ipv4.ip_forward = 1 默认是0.这样允许iptalbes FORWARD. vi /etc/sysconfig/iptables 添加*nat段 *nat:PREROUTING ACCEPT [0:0]:POSTROUTING ACCEPT [0:0]:OUTPUT ACCEPT [0:0] -A PREROUTING -d 202.168.349.101 -p tcp --dport 16688 -j DNAT

centos7 开启路由转发功能

[[email protected] ~]# vim /etc/sysctl.d/99-sysctl.conf   ...  添加:  net.ipv4.ip_forward = 1 :wq [[email protected] ~]# sysctl -p net.ipv4.ip_forward = 1   //查看修改结果. [[email protected] ~]#

开启内核路由转发使内网机器通过Gnu/Linux上网

问题描述 内网客户机器通过一台Gnu/Linux服务器访问互联网.服务器的eth0网卡可以访问互联网,eth1网卡与内网相连.客户端要通过该服务端访问互联网. 实验环境 服务器: 网卡 IP 子网掩码 网关 eth0 192.168.16.220 255.255.255.0 192.168.16.1 eth1 192.168.15.222 255.255.255.0 192.168.15.1 客户端: 网卡 IP 子网掩码 网关 eth0 192.168.15.111 255.255.255.0

linux 路由转发实验(软路由)

一.实验网络拓扑 (R1,R2由 Linux 虚拟机添加双网卡做软路由实现) 二.环境准备: (虚拟机网卡需要设置为桥接模式) 1. 关闭NetworkManager: service NetworkNanager stop 禁止开机自启动: chkconfig NetworkNanager off 清空iptables 条目: iptables -F 开启路由转发功能:(0 :禁用, 1:启用) echo 1 > /proc/sys/net/ipv4/ip_forward 检查路由转发功能开启