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. C语言之小明的加减法

    1.题目内容: 叛逆期的小明什么都喜欢反着做,连看数字也是如此(负号除外),比如: 小明会把1234它看成4321:把-1234看成-4321:把230看成032 (032=32):把-230看成-0 ...

  2. MySQL 基础(三)事务与 MVCC

    事务 事务是一组原子性的 SQL 操作,或者被称为一个独立的工作单元,如果数据库引擎能够成功地对数据库应用该组的全部 SQL 语句,那么就会全部执行,否则全部不执行. 事务的特性 在关系数据库管理系统 ...

  3. Java数组常见的几种排序。

    public class code2 { public static void main(String[] args) { int[] x = {37, 89, 23}; for (int z = 0 ...

  4. LeetCode141环形链表I、II

    141. 环形链表 给定一个链表,判断链表中是否有环. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始). 如果 pos 是 -1,则在该链表中没有环. ...

  5. 中秋佳节,程序员教你AI三步成诗,秒变“李白”

    摘要:举杯邀明月,用技术来附庸风雅. 中秋佳节来临之际,你是否开始思念远方的亲朋好友,想为他们送上祝福?又或是与家人团圆赏月之时,希望借一段风雅诗词抒情达意? 华为云的开发者们教你一招,来个技术风的A ...

  6. 低代码开发不靠谱?看低代码开发在物联网APP开发中的应用

    摘要:云编排式物联APP开发平台可通过云端可视化编排开发,边端远程自动化部署,云边协同管理运维的方式,实现物联网APP快速开发,海量边端应用管理. 0 引言 当前,物联网技术正在推动人类社会从&quo ...

  7. 实践丨GaussDB(DWS)资源管理排队原理与问题定位

    摘要:GaussDB(DWS)提供了资源管理功能,用户可以根据自身业务情况对资源进行划分,将资源按需划分成不同的资源池,不同资源池之间资源互相隔离. 本文分享自华为云社区<GaussDB(DWS ...

  8. Git工作流中常见的三种分支策略:GitFlow、GitHubFlow和GitLabFlow

    摘要:聊一聊Git中的工作流--分支策略. 本文分享自华为云社区<Git工作流中常见的三种分支策略:GitFlow.GitHubFlow以及GitLabFlow>,原文作者:敏捷的小智. ...

  9. Hudi自带工具DeltaStreamer的实时入湖最佳实践

    摘要:本文介绍如何使用Hudi自带入湖工具DeltaStreamer进行数据的实时入湖. 本文分享自华为云社区<华为FusionInsight MRS实战 - Hudi实时入湖之DeltaStr ...

  10. What?构造的查询语句会导致堆栈溢出

    摘要:本文归纳了Neo4j和Nebula两个开源图数据库的两个pull request修复的堆栈溢出问题,并试着写写通过阅读pr中的问题而得到的一些启发 本文分享自华为云社区<巧妙构造的查询语句 ...