网卡配置: host1: 192.168.1.1/24host2: 左eth0: 192.168.1.2/24 右eth1: 192.168.2.2/24 host3: 192.168.2.1/24 2. 需求描述 需要实现主机host1能够与host" />

[转帖]linux系统主机双网卡实现路由转发问题与解决

linux,系统,主机,双网卡,实现,路由,转发,问题,解决 · 浏览次数 : 0

小编点评

**1. 环境拓扑** * 主机host1与主机host3通过网桥连接。 * 主机host2与host1通过虚拟网卡连接。 * 主机host2与host3通过物理网卡连接。 **2. 需求描述** * 实现主机host1能够与host3直接通信。 **3. 转发主机host2配置** * 开启内核路由转发参数。 * 修改sysctl.conf配置文件,设置`net.ipv4.ip_forward = 1`。 * 重新加载sysctl配置文件。 **4. 配置路由表** * 配置静态路由规则,添加192.168.1.0/24网段路由配置信息。 * 配置路由规则,添加192.168.2.0/24网段路由配置信息。 **5. 配置防火墙iptables** * 设置iptables,允许来自外部的数据进入主机host1的INPUT链。 * 设置iptables,允许从主机host1到主机host3的通信的FORWARD链。 * 设置iptables,允许所有来自192.168.1.0/24的网络数据通过OUTPUT链转发。 **6. 重启服务** * 重启网络服务和iptables服务。

正文

1. 环境

  • 拓扑:
    host1 <----> host2 <----> host3

  • 网卡配置:

    • host1: 192.168.1.1/24
    • host2:

      左eth0: 192.168.1.2/24
      右eth1: 192.168.2.2/24

    • host3: 192.168.2.1/24

2. 需求描述

需要实现主机host1能够与host3直接通信。

3. 转发主机host2配置

3.1 开启内核路由转发参数

  • 临时生效:

    echo "1" > /proc/sys/net/ipv4/ip_forward
    
    • 1
  • 永久生效:
    修改sysctl.conf: net.ipv4.ip_forward = 1
    再执行sysctl -p立即生效

3.2 配置路由表

配置路由表,添加静态路由规则

  • 增加192.168.1.0/24网段路由配置信息
    route add -net 192.168.1.0 netmask 255.255.255.0 dev eth0
    
    • 1
  • 增加192.168.2.0/24网段路由配置信息
    route add -net 192.168.2.0 netmask 255.255.255.0 dev eth1
    
    • 1
  • 查看路由表是否完成配置
     route
    
    • 1

3.3 配置防火墙iptables(重要!)

这里的iptables其实不是真正的防火墙,官方给出的主要特点是:
主要特点

  • 列出包筛选器规则集的内容;
  • 在包过滤规则集中添加/删除/修改规则;
  • 列出/归零包筛选规则集的每条规则计数器

具体iptables的介绍可以参看iptables详解(1):iptables概念


进入正题,输入iptables -list查看Filter表,里面含三个链:

INPUT链:处理来自外部的数据。
OUTPUT链:处理向外发送的数据。
FORWARD链:将数据转发到本机的其他网卡设备上。

# iptables –list 

Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 xxx all — 0.0.0.0/0 0.0.0.0/0

Chain FORWARD (policy DROP)
num target prot opt source destination
1 xxx all – 0.0.0.0/0 0.0.0.0/0

Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
1 xxx all – 0.0.0.0/0 0.0.0.0/0

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

需要注意,如果想要linux主机支持转发,则需要开启内核的IP_FORWARD功能。
检查iptables如果发现Chain FORWARD (policy DROP)这行中的策略(policy)是DROP,则需要修改成为ACCEPT,方法为:

# iptables -t FORWARD -P ACCEPT
  • 1

3.4 重启服务

重启network服务和iptables服务:

# service network restart
# service iptables restart
  • 1
  • 2

至此,可以实现host2的路由转发,使host1与host3能够相互通信。


按:
博客中提及的问题是实验室的师弟师妹搭环境时遇到的,当时的环境是在一台主机上通过VMware虚拟机开启host1和host2(都是centos系统),host2配置了一个虚拟网卡连接host1,同时通过网桥的形式配置了另外一个网卡连接另一台物理主机host3。当时在网上找了很多配置方法的介绍,但几乎都只有3.1和3.2步的介绍,导致host1和host3始终连不起来。最后才发现问题出在iptables中FORWAED的策略是DROP。。。

文章知识点与官方知识档案匹配,可进一步学习相关知识
云原生入门技能树首页概览15375 人正在系统学习中

与[转帖]linux系统主机双网卡实现路由转发问题与解决相似的内容:

[转帖]linux系统主机双网卡实现路由转发问题与解决

1. 环境 拓扑: host2 host3"> 网卡配置: host1: 192.168.1.1/24host2: 左eth0: 192.168.1.2/24 右eth1: 192.168.2.2/24 host3: 192.168.2.1/24 2. 需求描述 需要实现主机host1能够与host

[转帖]iftop流量监控

https://www.cnblogs.com/zh-dream/p/16691807.html iftop 是 Linux 系统一个免费的网卡实时流量监控工具,类似于 top 命令。iftop 可以监控指定网卡的实时流量、端口连接信息、反向解析 IP 等,还可以精确显示本机网络流量及网络内各主机和

【转帖】Linux 系统双网卡绑定 bond的7种模式

第一种模式:mod=0 ,即:(balance-rr) Round-robin policy(平衡抡循环策略)第二种模式:mod=1,即: (active-backup) Active-backup policy(主-备份策略)第三种模式:mod=2,即:(balance-xor) XOR poli

[转帖]Linux系统多网卡环境下的路由配置

https://www.cnblogs.com/connect/p/linux-static-route.html Linux下路由配置命令 1. 添加主机路由 route add -host 192.168.1.11 dev eth0 route add -host 192.168.1.12 gw

[转帖]Java系列 | Linux系统中运行JMeter脚本

https://www.cnblogs.com/tinywan/p/16243391.html 需求场景 在Windows环境下测试,并发数过大,整个主机直接崩掉 依赖说明 在Linux系统中运行JMeter脚本,需要有两个前提 1、Linux系统中配置好Java环境 2、Linux系统中配置好JM

[转帖]jumpserver 添加Windows主机

jump server添加 Windows主机资产 添加Linux主机资产步骤我们可以参照 链接:jump server添加Linux主机资产 进行操作。 一、资产管理-资产列表-创建资产 IP根据自己实际情况填写。系统平台就选择windows即可。协议端口要选择rdp。 二、资产管理-系统用户-创

[转帖]telnet命令使用详解

https://www.cnblogs.com/PatrickLiu/p/8556762.html telnet命令用于登录远程主机,对远程主机进行管理。telnet因为采用明文传送报文,安全性不好,很多Linux服务器都不开放telnet服务,而改用更安全的ssh方式了。但仍然有很多别的系统可能采

[转帖]Linux系统下cpio命令详解

简介 cpio主要是解压或者将文件压缩到指定文件中即copy-in和copy-out模式。 参数说明 参数参数说明-icopy-in模式,解压文件-ocopy-out模式,即压缩文件-d自动生成目录-v打印处理的文件-m保留文件修改的时间 具体操作 [root@localhost casper]#

[转帖]Linux系统IO基准测试方法

https://www.cnblogs.com/wangzhen3798/p/13631848.html 顺序读写测试 主要关注磁盘的吞吐量,即每秒能够读入或者写出多少数据。普通单块机械磁盘顺序写在100MB/s左右,普通单块SSD的顺序写在500MB/s左右。该指标对MQ、ES等以append方式

[转帖]linux 系统级性能分析工具 perf 的介绍与使用

目录 1. 背景知识 1.1 tracepoints 1.2 硬件特性之cache 2. 主要关注点 3. perf的使用 3.0 perf引入的overhead 3.1 perf list 3.2 perf top 3.3 perf stat 3.4 perf bench 3.4.1 perf b