Ubuntu 防火墙IP转发做NAT,内网集群共享网络(简单)
服务器架构:

系统:
Ubuntu 16.04 x64 使用自带防火墙 UFW
操作:
在有公网的服务器上,进行防火墙基本操作开启自己所需业务的端口,并按下方设置启动NAT;
其他内网机器修改网关或者路由表,即可使用NAT共享网络
UFW基本操作:
- 查看当前状态和防火墙规则
ufw status #Status: active 服务激活;如果没有配置规则,将不显示防火墙规则
- 设置默认动作
ufw default allow/deny #对未配置的端口执行默认允许/拒绝动作
- 添加允许/拒绝端口的规则
ufw allow /tcp #允许 tcp封包;还可以换成 /udp,表示允许22端口 udp封包
ufw deny #拒绝 端口 (udp+tcp) - 删除允许/拒绝端口的规则
ufw delete allow/deny #删除规则同添加一致 添加 /tcp就删除 /tcp,不能删除
- 启动/关闭/重载防火墙
通过ssh远程连接建议先设置 22/tcp允许规则再启动防火墙服务
ufw enable/disable/reload
防火墙配置转发
- 首先开启系统的IP转发
net.ipv4.ip_forward = #增加或修改该字段,值设为1
/etc/sysctl.conf
- 生效
sysctl -p
- 设置防火墙的转发(修改俩个配置文件)
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
- 重启防火墙,成功
设置网关/路由
- 修改网关
route add default gw 172.17.0.1 #IP为拥有公网服务器的私网地址
以上为临时修改生效且基本通用,永久修改请百度,博主发现不同系统配置文件修改方法差异太大
可以ping公网了! - 修改路由表(使用云产品VPC专有网络)

阿里云进入产品,专有网络,左侧选择路由表,点击添加路由条目
添加下一跳,选择具有公网IP的ECS配置完成!
意义:
阿里云买ecs不配置公网IP可以省很多钱!
内网集群给每一个配公网ip太浪费,公网偶尔用一下(第三方软件脚本升级)
内网通信延迟低,速率快(网卡速率)
作者:saopanda 地址 https://www.cnblogs.com/saopanda/p/10906421.html
转载请附原链接,谢谢!
Ubuntu 防火墙IP转发做NAT,内网集群共享网络(简单)的更多相关文章
- 内网集群准同步shell脚本
在公司的内网中配置集群同步,可能是代理问题,ntpd和chrony都没有用,所以只好写shell脚本解决 前提条件集群中各台机器已经配置好了免密登录 一.免密登录配置 1. 用 root 用户登录.每 ...
- 通过rinetd实现端口转发来访问内网的服务
通过rinetd实现端口转发来访问内网的服务 一. 问题描述 通过外网来访问内网的服务 二. 环境要求 需要有一台能够外网访问的机器做端口映射,通过数据包转发来实现外部访问阿里云的内网服务 三 ...
- Apache 2.4.7在CentOS6.4中安装配置反向代理解决单外网IP对应多个内网主机的方法实践
欢迎转载,转载时请保留全文及出处. Apache 2.4.7在CentOS6.4中安装配置反向代理解决单外网IP对应多个内网主机的方法实践 Apache安装 下载源程序(http://httpd.ap ...
- Linux通过端口转发来访问内网服务(端口转发访问阿里云Redis数据库等服务)
# 安装rinetd wget http://www.boutell.com/rinetd/http/rinetd.tar.gz&&tar -xvf rinetd.tar.gz& ...
- 推断给定的IP地址是否是内网IP
/** * 推断给定的IP地址是否是内网IP * * @author GaoHuanJie */ public class Test{ public boolean isInnerIP(String ...
- ubuntu ceph集群安装以及简单使用
ubuntu ceph安装以及使用 1.安装环境 本文主要根据官方文档使用ubuntu14.04安装ceph集群,并且简单熟悉其基本操作.整个集群包括一个admin节点(admin node,主机名为 ...
- Ubuntu 12.04下Hadoop 2.2.0 集群搭建(原创)
现在大家可以跟我一起来实现Ubuntu 12.04下Hadoop 2.2.0 集群搭建,在这里我使用了两台服务器,一台作为master即namenode主机,另一台作为slave即datanode主机 ...
- Hive环境的安装部署(完美安装)(集群内或集群外都适用)(含卸载自带mysql安装指定版本)
Hive环境的安装部署(完美安装)(集群内或集群外都适用)(含卸载自带mysql安装指定版本) Hive 安装依赖 Hadoop 的集群,它是运行在 Hadoop 的基础上. 所以在安装 Hive 之 ...
- Linux 通过rinetd端口转发来访问内网服务
可以通过端口映射的方式,来通过具有公网的云服务器 ECS 访问用户名下其它未购买公网带宽的内网 ECS 上的服务.端口映射的方案有很多,比如 Linux 下的 SSH Tunnel.rinetd,Wi ...
随机推荐
- PHP 写入缓存
1.创建file.PHP <?php class File{ //封装方法 private $_dir; const EXT='.text';//文件后缀,定义为常量 public functi ...
- 【集成学习】lightgbm参数介绍(sklearn)
# XGBoost和LightGBM部分参数对比表: lightgbm.sklearn参数介绍(官网)
- FFmpeg内存操作(三)内存转码器
相关博客列表 : FFMPEG内存操作(一) avio_reading.c 回调读取数据到内存解析 FFMPEG内存操作(二)从内存中读取数及数据格式的转换 FFmpeg内存操作(三)内存转码器 本文 ...
- 调试 ASP 程序脚本
调试 ASP 脚本 无论您的计划多么精密.经验多么丰富,脚本错误 (bug) 可能在最初就使您的 ASP 服务器端的脚本无法正确运行.也就是说调试,即查找和纠正脚本错误,对开发一个成功的和强健的 AS ...
- Sublime Text2中Evernote 插件的使用
Sublime Text2是个强大的编辑器, 有好多插件供我们使用, 其中有个插件SublimeEvernote, 可以把代码发送到Evernote里. 但是没找见使用说明, 今天看了下Sublime ...
- NSArray用法
//类方法初始化一个数组对象 [array count] : 得到这个数组对象的长度. [array objectAtIndex index]: 传入数组的索引(index) 得到数据对象. [arr ...
- (转)python set 用法
转载自:http://hi.baidu.com/����_xu/blog/item/5b9650c513bd3f049d163d8b .html python的set和其他语言类似, 是一个 基本功能 ...
- keepalived+nginx实现双机热备
keepalived是一个类似于layer3, 4, 5 交换机制的软件,也就是我们平时说的第3层.第4层和第5层交换.Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机, ...
- Velocity的layout功能
一.从VelocityViewServlet到VelocityLayoutServlet 使用Velocity开发web应用时,需要在web.xml中配置一个Velocity提供的VelocityVi ...
- [.net]手机APP与IIS服务器联调配置
前端时间写过一段时间接口,在后期的时候,出现了一些无法通过查看日志来找出问题所在的bug.于是,将手机APP连接到IIS服务器上进行调试,下面是配置的具体步骤 1. 配置IIS 添加网站,将物理路径 ...