1. 环境

  • 拓扑:

  • 网卡配置:

    • 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系统主机双网卡实现路由转发问题与解决的更多相关文章

  1. Linux下双网卡绑定(bonding技术)

    Linux网卡绑定探析   2013-08-20 15:39:31 现在很多服务器都自带双千兆网口,利用网卡绑定既能增加网络带宽,同时又能做相应的冗余,目前应用于很多的场景.linux操作系统下自带的 ...

  2. Linux绑定双网卡

    Linux绑定双网卡 1. 配置参数文件 版本在centos6以下在/etc/modproe.conf文件中配置,版本是centos6.x或以上在/etc/modproe.d/目录下配置. 2.    ...

  3. Linux下双网卡Firewalld的配置流程

    实验室拟态存储的项目需要通过LVS-NAT模式通过LVS服务器来区隔内外网的服务,所以安全防护的重心则落在了LVS服务器之上.笔者最终选择通过firewalld放行端口的方式来实现需求,由于firew ...

  4. Linux下双网卡绑定bond0

    一:原理: linux操作系统下双网卡绑定有七种模式.现在一般的企业都会使用双网卡接入,这样既能添加网络带宽,同时又能做相应的冗余,可以说是好处多多.而一般企业都会使用linux操作系统下自带的网卡绑 ...

  5. (转)深度分析Linux下双网卡绑定七种模式

    现在一般的企业都会 使用双网卡接入,这样既能添加网络带宽,同时又能做相应的冗余,可以说是好处多多.而一般企业都会使用linux操作系统下自带的网卡绑定模式,当然现在 网卡产商也会出一些针对window ...

  6. 深度分析Linux下双网卡绑定七种模式

    现在一般的企业都会使用双网卡接入,这样既能添加网络带宽,同时又能做相应的冗余,可以说是好处多多.而一般企业都会使用linux操作系统下自带的网卡绑定模式,当然现在网卡产商也会出一些针对windows操 ...

  7. Linux双线双网卡双IP双网关设置方法

    机房上架了一台测试机,系统是Ubuntu 9.04 X64的系统,母机IBM X336机器.用户需求是双线,故采用一个网卡配置电信地址,另一个网卡配置联通地址,安装好系统后配置好IP发现联通地址和电信 ...

  8. Linux下双网卡绑定bond0【转】

    一:原理: linux操作系统下双网卡绑定有七种模式.现在一般的企业都会使用双网卡接入,这样既能添加网络带宽,同时又能做相应的冗余,可以说是好处多多.而一般企业都会使用linux操作系统下自带的网卡绑 ...

  9. Linux系统配置双网卡绑定bond0

    1.bonding简述 双网卡配置设置虚拟为一个网卡实现网卡的冗余,其中一个网卡坏掉后网络通信仍可正常使用,实现网卡层面的负载均衡和高可用性.现在一般的企业都会使用双网卡接入,这样既能添加网络带宽,同 ...

  10. linux下双网卡双网关配置

    要求: eth0:192.168.100.203 连接内网,网关为192.168.100.1.需要和192.168.10.0.192.168.12.0.192.168.100.0.10.2.2.0.1 ...

随机推荐

  1. 踩坑ffmpeg录制的mp4无法在浏览器上播放

    前言 使用ffmpeg编译好的程序在电脑上进行音视频转换,可以参考这篇:<windows电脑FFmpeg安装教程手把手详解_windows安装ffmpeg>,而我们要做的是在游戏引擎中集成 ...

  2. Linux的一些的常用命令

    小杰笔记: 记录一下Linux的一些常见命令: 1:Linux关机与重启的命令: shutdown:关机 shutdown -h 30 30秒后关机 reboot 重启 sync:将数据由内存同步到硬 ...

  3. 【华为云技术分享】空间异常即刻诊断,华为云数据管理服务DAS又出新招

    摘要:华为云数据管理服务DAS提供的云DBA智能化运维平台于日前发布了空间&元数据分析特性,支持查看实例空间异常列表.实例空间概况.数据库列表信息,帮助用户及时发现数据库中的空间和元数据异常, ...

  4. ISO/IEC 5055:软件代码质量的标尺

    摘要:ISO 5055是首个直接从软件内部结构方面衡量软件质量(如安全性和可靠性)的ISO标准.该标准基于统计安全性.可靠性.可维护性和性能效率方面的软件缺陷来衡量软件的结构质量. 本文分享自华为云社 ...

  5. 带你掌握如何使用CANN 算子ST测试工具msopst

    摘要:本期带您了解如何使用msopst工具. 本文分享自华为云社区<[CANN文档速递13期]算子ST测试工具[msopst]>,作者: 昇腾CANN . 如何获取msopst工具 mso ...

  6. M-SQL:超强的多任务表示学习方法

    摘要:本篇文章将硬核讲解M-SQL:一种将自然语言转换为SQL语句的多任务表示学习方法的相关论文. 本文分享自华为云社区<[云驻共创]M-SQL,一种超强的多任务表示学习方法,你值得拥有> ...

  7. 看FusionInsight Spark如何支持JDBCServer的多实例特性

    摘要:采用多主实例模式的HA方案,不仅可以规避主备切换服务中断的问题,实现服务不中断或少中断,还可以通过横向扩展集群来提高并发能力. 本文分享自华为云社区<FusionInsight Spark ...

  8. ReactJS到React-Native,架构原理概述

    React是一个纯JS的UI库,只能干HTML/CSS/JS 提供的Web服务(新的H5 API不一定支持), React-Native厉害在于它能打通JS和Native Code, 让JS能够调用丰 ...

  9. 深度克隆从C#/C/Java漫谈到JavaScript真复制

    如果只想看js,直接从JavaScript标题开始. 在C#里面,深度clone有System.ICloneable.创建现有实例相同的值创建类的新实例 克隆原理 值类型变量与引用类型变量 如果我们有 ...

  10. 挖掘优质短视频超百万条,火山引擎DataLeap助力电商平台生态治理

     更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群   在人们的日常生活中,网购已经成为人们生活中不可或缺的购物形式.   根据<中国社交电商行业发展白皮书( ...