服务器架构

系统

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. linux命令学习笔记( 7 ) : mv 命令

    mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令, 经常用来备份文件或者目录. .命令格式: mv [选项] 源文件或目 ...

  2. Android开发中高效的数据结构

    android开发中,在java2ee或者android中常用的数据结构有Map,List,Set,但android作为移动平台,有些api(很多都是效率问题)显然不够理想,本着造更好轮子的精神,an ...

  3. oracle rac搭建

    (一)环境准备 主机操作系统 windows10 虚拟机平台 vmware workstation 12 虚拟机操作系统 redhat 5.5 x86(32位) :Linux.5.5.for.x86. ...

  4. mysql命令之一:mysql常用命令之一

    一.登录 1.本地登录:MySQL 连接本地数据库,用户名为“root”,密码“123”(注意:“-p”和“123” 之间不能有空格) C:\>mysql -h localhost -u roo ...

  5. 微服务理论之四:SOA

    1.什么是SOA? SOA代表了面向服务的架构. SOA是一种使用松耦合的黑盒子服务构建业务应用的体系架构,这些服务可以通过编排连接在一起以实现特定的功能. 2.SOA特点 以下是服务的SOA的主要特 ...

  6. MongoDB之二基础入门(window/linux安装启动)

    mongodb中有三元素:数据库,集合,文档,其中“集合”就是对应关系数据库中的“表”,“文档”对应“行”. 一window安装与启动 一. 下载 上MongoDB官网 ,下载页面:https://w ...

  7. 使用jquery扩展表格行合并方法探究

    1.前言 最近项目中用到一个表格中对于相同内容的数据进行行合并的需求,本来想从网上找个现成的,省的自己再造轮子.于是就开始谷歌了...不过在搜索的过程中,发现找到的工具类很多都有一个前提,就是该表格中 ...

  8. IOS+openCV在Xcode的入门开发

    昨天折腾了一天,终于搞定了openCV+IOS在Xcode下的环境并且实现一个基于霍夫算法的圆形识别程序.废话不多说,下面就是具体的折腾流程: ---------------------------- ...

  9. python fabric的安装与使用

    背景:fabric主要执行远程的shell命令,包括文件的上传.下载,以及提示用户输入等辅助其它功能. 测试系统:ubuntu16 要求:python //系统有自带,ubuntu16 通常自带pyt ...

  10. NEKOGAMES

    http://bbs.3dmgame.com/thread-4133434-1-1.html