zoukankan      html  css  js  c++  java
  • WARNING: IPv4 forwarding is disabled. Networking will not work.

    1. 遇到问题:

    最近在做阿里云到腾讯云的服务器迁移,需要搭建Nginx docker 容器,发现启动nginx容器时候出现如下报错信息:

    2. 分析:

    查阅资料发现:
    出于安全考虑,Linux系统默认是禁止数据包转发的。所谓转发即当主机拥有多于一块的网卡时,其中一块收到数据包,根据数据包的目的ip地址将数据包发往本机另一块网卡,该网卡根据路由表继续发送数据包。这通常是路由器所要实现的功能。
    要让Linux系统具有路由转发功能,需要配置一个Linux的内核参数net.ipv4.ip_forward。这个参数指定了Linux系统当前对路由转发功能的支持情况;其值为0时表示禁止进行IP转发;如果是1,则说明IP转发功能已经打开。
    又因为如果需要在docker环境下部署nginx 就会涉及到报文转发的问题,就必须打开该设置选项。

    3. 解决

    1. 查找sysctl.conf 下是否存在net.ipv4.ip_forward 配置信息
    2. 如果不存在则将数据写入
    3. 查看配置信息
    4. 重启网络和docker
    grep "net.ipv4.ip_forward" /etc/sysctl.conf
    if [ $? -eq 0 ];then
        sed -i -r -e "s|net.ipv4.ip_forward.*|net.ipv4.ip_forward=0|g" /etc/sysctl.conf
    else
        echo "net.ipv4.ip_forward=0" >> sysctl.conf    
    fi
    sysctl -p
    systemctl restart network && systemctl restart docker
    
  • 相关阅读:
    jumpserver安装教程
    正则表达式基础->
    Awk基础
    shell脚本练习题->1
    idea开发工具下载安装教程
    shell 数组基础->
    动荡的国庆前后
    Linux命令之查找
    2013年9月游戏测试总结-文档习惯
    将C#程序做成服务后服务自动停止的问题
  • 原文地址:https://www.cnblogs.com/lonecloud/p/14762541.html
Copyright © 2011-2022 走看看