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. 掌握语义内核(Semantic Kernel):如何精进你的提示词工程

    在人工智能的海洋里,大型语言模型(LLM AI)是高速发展的一艘巨轮,而有效地与其沟通和指导其行为的锚,正是提示语(prompts).提示语是我们提供给模型的输入或查询,以期获取特定的响应.当今,提示 ...

  2. Python实用技巧:将 Excel转为PDF

    将Excel文件转换为PDF可以方便储存表格数据,此外在打印或共享文档时也能确保表格样式布局等在不同设备和操作系统上保持一致.今天给大家分享一个使用第三方Python库Spire.XLS for Py ...

  3. 技术实践丨Prometheus+Grafana搭建HBase监控仪表盘

    摘要:Grafana+Prometheus是目前非常流行的监控方案,图形化展示非常强大. 简介 ● HBase是一个分布式的.面向列的开源数据库,开源版本默认提供了展示集群信息的UI,可以显示集群的实 ...

  4. 实践GoF的设计模式:访问者模式

    摘要:访问者模式的目的是,解耦数据结构和算法,使得系统能够在不改变现有代码结构的基础上,为对象新增一种新的操作. 本文分享自华为云社区<[Go实现]实践GoF的23种设计模式:访问者模式> ...

  5. 毕业季 | 华为专家亲授面试秘诀:如何拿到大厂高薪offer?

    摘要:了解大厂面试流程.要求以及技巧,做好充分准备,赢在职场起跑线. 本文分享自华为云社区<毕业季 | 华为专家亲授面试秘诀:如何拿到大厂高薪offer?>,作者:华为云社区精选. 同学们 ...

  6. 华为云数据库GaussDB(for Influx)揭秘第二期:解密GaussDB(for Influx)的数据压缩

    摘要:物联网设备产生的数据是典型的时序数据,而时序数据库是存储时序数据的专业数据库系统,因此数据压缩对时序数据库来说是一项必不可少的能力. 本文分享自华为云社区<华为云数据库GaussDB(fo ...

  7. Net 高级调试之十六:平台互用性及P/Invoke和内存泄漏调试

    一.简介 今天是<Net 高级调试>的第十六篇文章,也是这个系列的最后一篇文章了.既然是最后一篇文章,我需要在这里说明一下,我当前的这个系列,不是针对<Net 高级调试>这本书 ...

  8. 数据治理如何做?火山引擎DataLeap帮助这款产品3个月降低计算成本20%

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 本文讲述字节跳动一款 App 产品的数据治理故事.该产品随着用户体量和数据体量不断增长,数仓的任务量.数据量也不断 ...

  9. 文件名: ?Ciwindows\system32 inetsrconfiglapplicationHost.config 错误:无法写入配置文件

    出现原因:出现这个问题,一般是在程序运行的时候更新程序,导致的. 解决方案: Microsoft Windows [版本 6.3.9600] (c) 2013 Microsoft Corporatio ...

  10. Kubernetes(K8S) 配置静态资源服务

    Kubernetes(K8S) 配置静态资源服务 --- apiVersion: v1 kind: ConfigMap metadata: name: img-config namespace: vi ...