服务器架构

系统

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. 使用Chrome采集摄像头并生成视频下载

    主要使用2个技术点:WebRtc 的 getUserMedia 和 MediaRecorder 注意点 开始录制调用 start 方法要传入一个采样间隔,这样录制的媒体会按照你设置的值进行分割成一个个 ...

  2. tensorflow中常量(constant)、变量(Variable)、占位符(placeholder)和张量类型转换reshape()

    常量 constant tf.constant()函数定义: def constant(value, dtype=None, shape=None, name="Const", v ...

  3. HihoCoder1338 A Game(记忆化搜索)

    时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 Little Hi and Little Ho are playing a game. There is an integ ...

  4. bzoj 3172: [Tjoi2013]单词 fail树

    题目大意: 一篇论文是由许多单词组成,现在想知道每个单词分别在论文中出现多少次. 题解: 我们首先考虑fail指针的含义 如果fail[x] = y,那么我们就知道y作为x的后缀在x中出现了一次 所以 ...

  5. [CERC 2008] Suffix reconstruction

    [题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=4319 [算法] 首先 , 我们可以求出这个字符串的rank数组 按照SA逐位枚举 , ...

  6. centos6.5升级默认的Mysql到5.5方法

    0.用lsb_release -a 查看linux系统的版本 1.官网下载bundle或rpm版2.解压 tar -xvf MySQL-xxx.tar或 MySQL-server-xxx.rpm和My ...

  7. app专项测试(稳定性测试、安全性测试)

    https://blog.csdn.net/xiaomaoxiao336368/article/details/84887948

  8. 【转】 Pro Android学习笔记(四四):Dialog(1):触发Dialog

    目录(?)[-] 创建dialog fragment Activity显示对话框 Android提供alert.prompt.pick-list,单选.多选,progress.time-picker和 ...

  9. 用C语言实现中文到unicode码的转换

    转自:  http://blog.csdn.net/qq_21792169/article/details/50379275 源文件用不同的编码方式编写,会导致执行结果不一样 由于本人喜欢用Notep ...

  10. VisualGDB系列7:使用VS创建Linux静态库和动态库

    根据VisualGDB官网(https://visualgdb.com)的帮助文档大致翻译而成.主要是作为个人学习记录.有错误的地方,Robin欢迎大家指正. 本文介绍如何在VS中创建静态库和动态库, ...