服务器架构

系统

Ubuntu 16.04 x64 使用自带防火墙 UFW

操作:

在有公网的服务器上,进行防火墙基本操作开启自己所需业务的端口,并按下方设置启动NAT;

其他内网机器修改网关或者路由表,即可使用NAT共享网络

UFW基本操作:

  1. 查看当前状态和防火墙规则

    ufw status    #Status: active 服务激活;如果没有配置规则,将不显示防火墙规则
  2. 设置默认动作
    ufw default allow/deny    #对未配置的端口执行默认允许/拒绝动作
  3. 添加允许/拒绝端口的规则
    ufw allow /tcp    #允许  tcp封包;还可以换成 /udp,表示允许22端口 udp封包
    ufw deny        #拒绝 端口 (udp+tcp)
  4. 删除允许/拒绝端口的规则
    ufw delete allow/deny     #删除规则同添加一致 添加 /tcp就删除 /tcp,不能删除 
  5. 启动/关闭/重载防火墙
    通过ssh远程连接建议先设置 22/tcp允许规则再启动防火墙服务
    ufw enable/disable/reload

防火墙配置转发

  1. 首先开启系统的IP转发

    net.ipv4.ip_forward =     #增加或修改该字段,值设为1
    /etc/sysctl.conf
  2. 生效
    sysctl -p
  3. 设置防火墙的转发(修改俩个配置文件)
    DEFAULT_FORWARD_POLICY="ACCEPT"    #该值设为ACCEPT
    /etc/default/ufw
    # 注意默认规则内容都包含在 *filter...COMMIT 内
    # 添加如下内容时注意 *nat...COMMIT 不能放在 *filter...COMMIT 内
    # 172.17.0.0/16是私网网段
    *nat
    :PREROUTING - [0:0]
    :POSTROUTING - [0:0]
    -A POSTROUTING -s 172.17.0.0/16 -o eth0 -j MASQUERADE
    COMMIT
    /etc/ufw/before.rules
  4. 重启防火墙,成功

设置网关/路由

  1. 修改网关

    route add default gw 172.17.0.1    #IP为拥有公网服务器的私网地址

    以上为临时修改生效且基本通用,永久修改请百度,博主发现不同系统配置文件修改方法差异太大

    可以ping公网了!

  2. 修改路由表(使用云产品VPC专有网络)

    阿里云进入产品,专有网络,左侧选择路由表,点击添加路由条目


    添加下一跳,选择具有公网IP的ECS

    配置完成!

意义:

阿里云买ecs不配置公网IP可以省很多钱!

内网集群给每一个配公网ip太浪费,公网偶尔用一下(第三方软件脚本升级)

内网通信延迟低,速率快(网卡速率)

作者:saopanda 地址 https://www.cnblogs.com/saopanda/p/10906421.html

转载请附原链接,谢谢!

Ubuntu 防火墙IP转发做NAT,内网集群共享网络(简单)的更多相关文章

  1. 内网集群准同步shell脚本

    在公司的内网中配置集群同步,可能是代理问题,ntpd和chrony都没有用,所以只好写shell脚本解决 前提条件集群中各台机器已经配置好了免密登录 一.免密登录配置 1. 用 root 用户登录.每 ...

  2. 通过rinetd实现端口转发来访问内网的服务

    通过rinetd实现端口转发来访问内网的服务 一.   问题描述 通过外网来访问内网的服务 二.   环境要求 需要有一台能够外网访问的机器做端口映射,通过数据包转发来实现外部访问阿里云的内网服务 三 ...

  3. Apache 2.4.7在CentOS6.4中安装配置反向代理解决单外网IP对应多个内网主机的方法实践

    欢迎转载,转载时请保留全文及出处. Apache 2.4.7在CentOS6.4中安装配置反向代理解决单外网IP对应多个内网主机的方法实践 Apache安装 下载源程序(http://httpd.ap ...

  4. Linux通过端口转发来访问内网服务(端口转发访问阿里云Redis数据库等服务)

    # 安装rinetd wget http://www.boutell.com/rinetd/http/rinetd.tar.gz&&tar -xvf rinetd.tar.gz& ...

  5. 推断给定的IP地址是否是内网IP

    /** * 推断给定的IP地址是否是内网IP * * @author GaoHuanJie */ public class Test{ public boolean isInnerIP(String ...

  6. ubuntu ceph集群安装以及简单使用

    ubuntu ceph安装以及使用 1.安装环境 本文主要根据官方文档使用ubuntu14.04安装ceph集群,并且简单熟悉其基本操作.整个集群包括一个admin节点(admin node,主机名为 ...

  7. Ubuntu 12.04下Hadoop 2.2.0 集群搭建(原创)

    现在大家可以跟我一起来实现Ubuntu 12.04下Hadoop 2.2.0 集群搭建,在这里我使用了两台服务器,一台作为master即namenode主机,另一台作为slave即datanode主机 ...

  8. Hive环境的安装部署(完美安装)(集群内或集群外都适用)(含卸载自带mysql安装指定版本)

    Hive环境的安装部署(完美安装)(集群内或集群外都适用)(含卸载自带mysql安装指定版本) Hive 安装依赖 Hadoop 的集群,它是运行在 Hadoop 的基础上. 所以在安装 Hive 之 ...

  9. Linux 通过rinetd端口转发来访问内网服务

    可以通过端口映射的方式,来通过具有公网的云服务器 ECS 访问用户名下其它未购买公网带宽的内网 ECS 上的服务.端口映射的方案有很多,比如 Linux 下的 SSH Tunnel.rinetd,Wi ...

随机推荐

  1. PHP 写入缓存

    1.创建file.PHP <?php class File{ //封装方法 private $_dir; const EXT='.text';//文件后缀,定义为常量 public functi ...

  2. 【集成学习】lightgbm参数介绍(sklearn)

    #  XGBoost和LightGBM部分参数对比表: lightgbm.sklearn参数介绍(官网)

  3. FFmpeg内存操作(三)内存转码器

    相关博客列表 : FFMPEG内存操作(一) avio_reading.c 回调读取数据到内存解析 FFMPEG内存操作(二)从内存中读取数及数据格式的转换 FFmpeg内存操作(三)内存转码器 本文 ...

  4. 调试 ASP 程序脚本

    调试 ASP 脚本 无论您的计划多么精密.经验多么丰富,脚本错误 (bug) 可能在最初就使您的 ASP 服务器端的脚本无法正确运行.也就是说调试,即查找和纠正脚本错误,对开发一个成功的和强健的 AS ...

  5. Sublime Text2中Evernote 插件的使用

    Sublime Text2是个强大的编辑器, 有好多插件供我们使用, 其中有个插件SublimeEvernote, 可以把代码发送到Evernote里. 但是没找见使用说明, 今天看了下Sublime ...

  6. NSArray用法

    //类方法初始化一个数组对象 [array count] : 得到这个数组对象的长度. [array objectAtIndex index]: 传入数组的索引(index) 得到数据对象. [arr ...

  7. (转)python set 用法

    转载自:http://hi.baidu.com/����_xu/blog/item/5b9650c513bd3f049d163d8b .html python的set和其他语言类似, 是一个 基本功能 ...

  8. keepalived+nginx实现双机热备

    keepalived是一个类似于layer3, 4, 5 交换机制的软件,也就是我们平时说的第3层.第4层和第5层交换.Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机, ...

  9. Velocity的layout功能

    一.从VelocityViewServlet到VelocityLayoutServlet 使用Velocity开发web应用时,需要在web.xml中配置一个Velocity提供的VelocityVi ...

  10. [.net]手机APP与IIS服务器联调配置

    前端时间写过一段时间接口,在后期的时候,出现了一些无法通过查看日志来找出问题所在的bug.于是,将手机APP连接到IIS服务器上进行调试,下面是配置的具体步骤 1. 配置IIS  添加网站,将物理路径 ...