一则自用iptables例子解释
公网IP:110.24.3.83
内网IP:10.252.214.186
局域网数据库:10.252.214.100
通过NAT端口转发,访问110.24.3.83:3308端口跳转到局域网数据库机器的3306端口
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A PREROUTING -d 110.24.3.83 -p tcp --dport 3308 -j DNAT --to-destination 10.252.214.100:3306
-A POSTROUTING -d 10.252.214.100 -p tcp -j SNAT --to-source 10.252.214.186
COMMIT
*filter
:INPUT DROP [0:0] #默认进来的所有包DROP,0:0表示没有限制包的个数和总字节数,匹配的动作无限制的流入流出。
:FORWARD DROP [0:0] #默认转发的所有包DROP,0:0表示没有限制包的个数和总字节数,匹配的动作无限制的流入流出。
:OUTPUT ACCEPT [0:0] #默认出去的所有包ACCEPT,0:0表示没有限制包的个数和总字节数,匹配的动作无限制的流入流出。
:RH-Firewall-1-INPUT - [0:0] #自定义了一个表RH-Firewall-1-INPUT
-A INPUT -j RH-Firewall-1-INPUT #将INPUT的所有包转发到自定义的RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT #将FORWARD的所有包转发到自定义的RH-Firewall-1-INPUT ;这样INPUT和FORWARD的规则就一致了,也就意味着,只要定义好RH-Firewall-1-INPUT,就定义好了INPUT和FORWARD两个链
-A RH-Firewall-1-INPUT -i lo -j ACCEPT #允许本机数据包通过
-A RH-Firewall-1-INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT #允许已建立的链接数据包通过
-A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT #允许ping本机
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -s 121.10.246.64/255.255.255.224 -m state --state NEW -j ACCEPT
-A RH-Firewall-1-INPUT -s 123.27.13.60 -m state --state NEW -j ACCEPT
-A RH-Firewall-1-INPUT -s 123.27.16.45 -m state --state NEW -j ACCEPT
COMMIT
-p tcp: 是说当前规则作用于 tcp 协议包
-m tcp: 是说明要使用iptables的tcp模块的功能 (--dport 等)
-m state --state <状态>
有数种状态,状态有:
▪ INVALID:无效的封包,例如数据破损的封包状态
▪ ESTABLISHED:已经联机成功的联机状态;
▪ NEW:想要新建立联机的封包状态;
▪ RELATED:这个最常用!表示这个封包是与我们主机发送出去的封包有关,可能是响应封包或者是联机成功之后的传送封包!这个状态很常被设定,因为设定了他之后,只要未来由本机发送出去的封包,即使我们没有设定封包的INPUT规则,该有关的封包还是可以进入我们主机,可以简化相当多的设定规则。
一则自用iptables例子解释的更多相关文章
- 用通俗的例子解释OAuth和OpenID的区别【原】
什么是OAuth(Wiki) 什么是OpenID(Wiki) 详细的定义可以看wiki,下面举个例子说说我的理解 现在很多网站都可以用第三方的账号登陆,比如,现在我要登录淘宝买东西,而如果我没有淘宝的 ...
- php MVC 及例子解释
根据http://www.21ds.net/article/4/453改写: MVC模式在网站架构中十分常见.它允许我们建立一个三层结构的应用程式,从代码中分离出有用的层,帮助设计师和开发者协同工作以 ...
- 小例子解释wait与notify的区别
系统慢可能有很多种原因,硬件资源不足,语句不优化,结构设计不合理,缺少必要的运维方式.所有的这些问题都可以在阻塞与等待中看出端倪,发现并解决问题. 首先是下载开发工具,磨刀不误砍材工.点此下载 这是一 ...
- mysql-通过例子解释四种隔离级别
SQL标准定义了4种隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的. 低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销. 首先,我们使用 test 数据库, ...
- 通俗易懂的例子解释 IAAS、SAAS、PAAS 的区别
你一定听说过云计算中的三个“高大上”的你一定听说过云计算中的三个“高大上”的概念:IaaS.PaaS和SaaS,这几个术语并不好理解.不过,如果你是个吃货,还喜欢披萨,这个问题就好解决了!好吧,其实你 ...
- 如何用简单易懂的例子解释条件随机场(CRF)模型?它和HMM有什么区别?
https://www.zhihu.com/question/35866596/answer/418341940
- 转:如何向妻子解释OOD
如何向妻子解释OOD 前言 此文译自CodeProject上<How I explained OOD to my wife>一文,该文章在Top Articles上排名第3,读了之后觉得非 ...
- c++ primer,友元函数上的一个例子(By Sybase)
本文试图解释c++ primer Screen 和 Window_Mgr的例子,为什么将两个类放在两个文件中无法编译? 将两个类写在同一个文件中,通过三个例子解释问题: 第一种写法问题: 编译到Scr ...
- for循环例子1、2、3
/* Name:for循环例子1.2.3 Copyright: By.不懂网络 Author: Yangbin Date:2014年2月12日 02:12:41 Description:该代码用来熟悉 ...
随机推荐
- Spring MVC 解读——@RequestMapping (2)(转)
转自:http://my.oschina.net/HeliosFly/blog/214438 Spring MVC 解读——@RequestMapping 上一篇文章中我们了解了Spring如何处理@ ...
- TCP/IP FTP/TFTP
引言 从一台计算机向另一台计算机传送文件是在连网或互联网环境中最常见的任务.而FTP和TFTP就是这样的协议. 关于文件传输协议FTP? 端口21使用服务TCP [FTP模型] FTP连接? 1.控制 ...
- Matlab中常用操作
(1)换行操作: 末尾加上“...”,然后加enter:有时候多条语句重起一行,这时shift+enter >> 4*sin(0.3)*...8 (2)一些快捷键: Ctrl+R 可多行同 ...
- P1082丛林探险
P1082丛林探险 描述 东非大裂谷中有一片神秘的丛林,是全世界探险家的乐园,著名黄皮肤探险家BB一直想去试试.正好我国科学家2005年4月将首次对东非大裂谷进行科考,BB决定随科考队去神秘丛林探险. ...
- php表单提交方法汇总
问题:网页上提交表单之后,PHP为什么不能获取提交的内容?然而在老版本的PHP上运行却正常. 新版的PHP已经废弃了原来的表单内容处理方式,即不再把提交的表单的内容直接复制到一个同名变量中.解决办法有 ...
- Java GC专家系列1:理解Java垃圾回收
了解Java的垃圾回收(GC)原理能给我们带来什么好处?对于软件工程师来说,满足技术好奇心可算是一个,但重要的是理解GC能帮忙我们更好的编写Java应用程序. 上面是我个人的主观的看法,但我相信熟练掌 ...
- java 23 种设计模式
一.设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式.抽象工厂模式.单例模式.建造者模式.原型模式. 结构型模式,共七种:适配器模式.装饰器模式.代理模式.外观模式.桥接 ...
- 使用JavaScript扫描端口
<html> <title>端口扫描</title> <head></head><form><label fo ...
- java 微信公众服务平台 下发 模板消息
java 微信公众服务平台 下发 模板消息 (一).部分截图 (二).部分代码 (一).部分截图: (二).部分代码: //此处 给用户微信发消息... Map<String,String> ...
- DataGridView 添加行 分类: DataGridView 2014-12-07 08:49 263人阅读 评论(0) 收藏
说明: (1)dgvGoods 是DataGridView名 (2)index 是最大行索引 一. DataGridViewRow row = new DataGridViewRow(); int i ...