ipv4 forwarding

WARNING: IPv4 forwarding is disabled. Networking will not work

出现场景: 虚拟机中安装了docker,docker启动nginx容器时,弹出以上警告内容

分析: docker网桥配置完后,需要开启转发,不然容器启动后,就会没有网络

更进一步:

出于安全考虑,Linux系统默认是禁止数据包转发的。所谓转发即当主机拥有多于一块的网卡时,其中一块收到数据包,根据数据包的目的ip地址将数据包发往本机另一块网卡,该网卡根据路由表继续发送数据包。这通常是路由器所要实现的功能。

要让Linux系统具有路由转发功能,需要配置一个Linux的内核参数net.ipv4.ip_forward。这个参数指定了Linux系统当前对路由转发功能的支持情况;其值为0时表示禁止进行IP转发;如果是1,则说明IP转发功能已经打开。

解决方案:

  1. 临时修改方式(未验证)
    临时生效的配置方式,在系统重启,或对系统的网络服务进行重启后都会失效。这种方式可用于临时测试、或做实验时使用。
sysctl -w net.ipv4.ip_forward=1

或者

echo 1 > /proc/sys/net/ipv4/ip_forward
  1. 永久修改方式(已验证)
    永久生效的配置方式,在系统重启、或对系统的网络服务进行重启后还会一直保持生效状态。这种方式可用于生产环境的部署搭建。

查看配置文件/etc/sysctl.conf
只有一堆注释,你可以直接添加配置项

 net.ipv4.ip_forward=1

但是注释说明官方推荐的方式是在 /etc/sysctl.d/ 目录新建一个用户文件,如 my.conf,然后在此配置文件中添加上述配置项。

修改之后,重新加载内核参数设置

sysctl -p

验证一下,配置是否已修改,返回 net.ipv4.ip_forward = 1即成功

sysctl net.ipv4.ip_forward

重启network服务

systemctl restart network

至此结束!

参考文章 :
Linux 7 中 /etc/sysctl.conf 的位置变化 :https://www.cndba.cn/dave/article/2966

linux 网络问题 ipv4 forwarding相关推荐

  1. Linux网络编程IPv4和IPv6的inet_addr、inet_aton、inet_pton等函数小结

    知识背景: 210.25.132.181属于IP地址的ASCII表示法,也就是字符串形式.英语叫做IPv4 numbers-and-dots notation. 如果把210.25.132.181转换 ...

  2. Linux Kernel TCP/IP Stack|Linux网络硬核系列

    大家好,我是Alex,今天给大家介绍Linux网络技术中最核心的部分--TCP/IP协议栈 . 我们先看一下抽象的网络协议栈模型 TCP/IP四层(参考)模型 再按分层思想看Linux内核协议栈实现框 ...

  3. 你必须了解的基础的 Linux 网络命令

    在 It's FOSS 我们并非每天都谈论 Linux 的"命令行方面".基本上,我更专注于 Linux 的桌面端.但你们读者中的一些人在内部调查(仅面向 It's FOSS ne ...

  4. [WARNING]: IPv4 forwarding is disabled. Networking will not work

    WARNING:IPv4 forwarding is disabled. Networking will not work 1 背景 2 原因 3 解决方法 3.1 修改配置文件 3.2 重启网络 3 ...

  5. sysctl优化linux网络

    引自:http://blog.chinaunix.net/space.php?uid=20746343&do=blog&id=730129 sysctl优化linux网络   1, 优 ...

  6. Linux 网络基础学习

    Linux 网络基础知识 网络的基础知识包括: TCP/IP , Network IP, Netmask IP , Broadcast IP,Gateway, DNS IP等等 OSI的网络七层协议 ...

  7. Linux网络性能参数

    介绍 有时,人们正在寻找能够带来高吞吐量和低延迟的sysctl 货物崇拜(cargo cult)值,而无需进行权衡,并且这种值在任何情况下都能工作.这是不现实的,尽管我们可以说新的内核版本在默认情况下 ...

  8. [译] Linux 网络栈监控和调优:发送数据(2017)

    转载自:http://arthurchiao.art/blog/tuning-stack-tx-zh/ 点击阅读原文 Published at 2018-12-17 | Last Update 202 ...

  9. Linux网络编程实例分析

    最近由于工作原因需要温习一下Linux网络编程的部分基础知识,因此对之前写的Socket网络通信的代码进行了进一步优化和拓展,在不关闭一次Socket连接的基础上,对服务端加入循环读写的功能,同时加入 ...

  10. Linux网络常用工具分类介绍

    Linux网络命令较多,单纯的介绍网络命令的用法也没什么意思.本文将常见的网络命令进行分类,并做出思维导图,对每个分类的命令选择性的介绍其作用.常见选项和用法举例.BTW,不建议记住所有命令,了解一下 ...

最新文章

  1. 下面中???该如何填写,才可以正确执行强制类型转换? int (*monthp)[31]; monthp = (???)malloc(31);
  2. 浅谈 举家搬迁静态文件到CDN
  3. Java基础-基本数据类型
  4. 天联高级版客户端_天高客户端登录出现“如未打开程序,请点击查看链接提示”...
  5. c++ 字符串拼接_源码上看 .NET 中 StringBuilder 拼接字符串的实现
  6. node.js 安装及配置(hello world)及 node 的包管理器(npm)
  7. Hive日期格式转换
  8. Conditional Generative Adversarial Nets论文翻译
  9. AndroidStudio使用XmlPullParser解析xml文件
  10. erlang 小程序:整数序列,搜索和为正的最长子序列
  11. .Net平台下安装DotNetBar
  12. 三维扫描3D打印在创客教育中的实际应用
  13. 2019.03.07【APIO2018】【洛谷P4630】【BZOJ5463】铁人两项(圆方树)(树形DP)
  14. Typora使用教程
  15. 如何擦除Altera FPGA的配置器件EPCS中的内容
  16. java运行html代码,java代码运行html
  17. 路由器与交换机配置——交换机默认网关(实现跨网段telnet)
  18. redis mysql 雪崩_Redis缓存雪崩问题
  19. java中的日期格式转换
  20. CSS中的background的详细属性

热门文章

  1. Reader/Writer字符流概述和使用方法
  2. 蓝牙LMP剖析(二)
  3. 【Linux】Ubuntu运行环境搭建
  4. 理解JDBC/JPA/Mybatis/Hibernate
  5. 珠峰高 8848 米,一张纸 0.01 米,这张纸对折多少次后高度超过珠峰
  6. 网络适配器不见了网络连接不见了的解决方法
  7. npm 包解析 eml 文件
  8. vip html代码,vip.html
  9. win8计算机显示在桌面快捷方式,win10、win8.1系统桌面快捷方式图标显示异常怎么办-系统操作与应用 -亦是美网络...
  10. 第一次尝试使用Python创建季节性ARIMA模型