集群IPtables转发与防火墙
子网集群通过接入公网的服务器Iptables转发上网
1. 对iptables进行初始化工作
清空filter表
iptables -F
清空nat表
iptables -t nat -F
默认禁止所有传入连接
iptables -P INPUT DROP
默认允许所有传出连接
iptables -P OUTPUT ACCEPT
默认禁止路由转发
iptables -P FORWARD DROP
2.打开系统的IP转发功能
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
不用重启,立即生效
sysctl -p
3. 配置iptables的传入连接
允许环回接口的传入连接
iptables -A INPUT -i lo -j ACCEPT
允许已建立的传入连接
iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
允许SSH传入连接
iptables -A INPUT -i eno1 -p tcp –dport 22 -j ACCEPT 根据自己外网网卡配置
4. 配置iptables的NAT转发---实现子网上网
允许来自内网的传出连接
iptables -A FORWARD -s 192.168.10.0/24 -j ACCEPT
开启源NAT功能
即将来自内网主机的IP转换为外网IP。
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j SNAT –to 【公网ip】
5. 端口转发
通过端口转发实现子网内服务器特定端口对外服务功能
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 【公网端口】 -j DNAT --to-destination 【内网IP】: 指定子网服务器端口
eg:iptables -t nat -A PREROUTING -p tcp -m tcp --dport 8001 -j DNAT --to-destination 172.31.2.51:22 将公网8001端口转向子网特定服务器22端口
如上实现则为所有客户端均可访问,若要指定ip可以访问则需要
iptables -t nat -A PREROUTING 【指定IP地址】-p tcp -m tcp --dport 【公网端口】 -j DNAT --to-destination 【内网IP】: 指定子网服务器端口
6.禁止访问
如果需要禁止某些ip访问端口则可以在filter中添加规则
iptables -I INPUT -p tcp --dport 8001 -j DROP 禁止所有访问该端口的请求
iptables -A INPUT -p tcp --dport 8001 -j ACCEPT 开启同理
允许特定ip访问特定端口则可仅对特定IP开放端口
-A INPUT -s 【特定ip】 -p tcp -m tcp --dport 8001 -j ACCEPT
iptables注意事项
使用指令iptables +xxxxxx会将iptables规则写入内存,重启iptables失效
如果想要把配置保存起来,可以执行 service iptables save
这样就不会每次重启 iptables 的时候配置就失效了。
当/etc/sysconfig/iptables 内容与内存中不一致时,重启iptables会出现错误,需要先保存在重启,重启读取的是/etc/sysconfig/iptables中的配置文件。
不要随便禁用22端口,保证ssh可以正常运行,可以省去很多麻烦
集群IPtables转发与防火墙的更多相关文章
- 转:Linux集群-----HA浅谈
通过特殊的软件将若干服务器连接在一起并提供故障切换功能的实体我们称之为高可用集群.可用性是指系统的uptime,在7x24x365的工作环境中,99%的可用性指在一年中可以有87小时36分钟的DOWN ...
- hadoop-1.1.2集群搭建
Hadoop安装分为三种不同模式: 本地模式:hadoop在运行时,不使用hdfs,而是使用linux操作系统的文件系统.(默认hadoop就是本地模式) 伪分布模式:在一个节点上运行hadoop(指 ...
- Redis 高可用集群
Redis 高可用集群 Redis 的集群主从模型是一种高可用的集群架构.本章主要内容有:高可用集群的搭建,Jedis连接集群,新增集群节点,删除集群节点,其他配置补充说明. 高可用集群搭建 集群(c ...
- ZooKeeper 01 - 什么是ZooKeeper + 部署ZooKeeper集群
目录 1 什么是ZooKeeper 2 ZooKeeper的功能 2.1 配置管理 2.2 命名服务 2.3 分布式锁 2.4 集群管理 3 部署ZooKeeper集群 3.1 下载并解压安装包 3. ...
- mysql-cluster集群(亲测)
重要说明:mysql-cluste与非集群时用的mysql-server与mysql-client没有任何关系,mysql-cluste安装包中已自带了集群用的server与client,启动mysq ...
- emqtt 分布集群及节点桥接搭建
目录 分布集群 emq@s1.emqtt.io 节点设置 emq@s2.emqtt.io 节点设置 节点加入集群 节点退出集群 节点发现与自动集群 manual 手动创建集群 基于 static 节点 ...
- ElasticSearch6.1.1集群搭建
其实早就想研究ES了,因为之前用solr,资料较少(这倒不是问题,有问题去官网读文档),貌似用的人比较少?(别打我)前几天去京东面试,我觉得有必要了解一下es,昨天晚上简单了解了官方文档,今天居然鼓捣 ...
- Redis3.2.4 Cluster集群搭建
服务器环境:192.168.1.105192.168.1.160每台服务器搭建3个节点,组成3个主节点,3个从节点的redis集群. 注意:防火墙一定要开放监听的redis端口,否则会创建失败. 一. ...
- NATS_11:NATS集群构建与验证
NATS服务集群化 NATS支持每一个服务按照集群模式方式运行.你可以将这些服务组织在一起形成一个集群来提高服务器的容量的消息传递系统,并可以提升整个系统的弹性话和高可用性. 注意,NATS集群服务器 ...
随机推荐
- Python-Flask框架之——图书管理系统 , 附详解源码和效果图 !
该图书管理系统要实现的功能: 1. 可以通过添加窗口添加书籍或作者, 如果要添加的作者和书籍已存在于书架上, 则给出相应的提示. 2. 如果要添加的作者存在, 而要添加的书籍书架上没有, 则将该书籍添 ...
- Spring 下 MyBatis 的基本使用
参看代码 GitHub : pom.xml dbconfig.properties DbConfig.java MySqlBean.java User.java UserMapper.java Use ...
- C#更改操作系统时间
using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServi ...
- flex 分页打印表格功能
private function printHandler():void{ var printJob:FlexPrintJob = new FlexPrintJob(); printJob.print ...
- 函数上下文this
一般来说谁调用上下文都指向谁,具体有以下几种情况: 1.函数用圆括号调用,函数的上下文是window 注意:所有的全局变量都是window的属性,而函数里边定义的变量谁的属性也不是. 2.函数作为对象 ...
- C/C++静态代码安全检查工具
静态代码安全检查工具是一种能够帮助程序员自动检测出源程序中是否存在安全缺陷的软件.它通过逐行分析程序的源代码,发现软件中潜在的安全漏洞.本文针对 C/C++语言程序设计中容易存在的多种安全问题,分别分 ...
- Docker 多主机网络总结(非常全)
PS:文章首发公众号,欢迎大家关注我的公众号:aCloudDeveloper,专注技术分享,努力打造干货分享平台,二维码在文末可以扫,谢谢大家. 上篇文章介绍了容器网络的单主机网络,本文将进一步介绍多 ...
- 转 Web用户的身份验证及WebApi权限验证流程的设计和实现
前言:Web 用户的身份验证,及页面操作权限验证是B/S系统的基础功能,一个功能复杂的业务应用系统,通过角色授权来控制用户访问,本文通过Form认证,Mvc的Controller基类及Action的权 ...
- 基于 HTML5 WebGL 的低碳工业园区监控系统
前言 低碳工业园区的建设与推广是我国推进工业低碳转型的重要举措,低碳工业园区能源与碳排放管控平台是低碳工业园区建设的关键环节.如何对园区内的企业的能源量进行采集.计量.碳排放核算,如何对能源消耗和碳排 ...
- Struts标签库详解【1】
struts2标签详解 要在jsp中使用Struts2的标志,先要指明标志的引入.通过jsp的代码的顶部加入以下的代码: <%@taglib prefix="s" uri=& ...