一则自用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:该代码用来熟悉 ...
随机推荐
- Light OJ 1036 - A Refining Company
题目大意: 一个m*n的矩阵,里面有两种矿物质铀和镭,现在要把铀和镭运送到指定位置.北边是炼镭厂,西边是了炼铀厂. 现在要建立传送带,传送带有两种,一种是从东到西,另一种是从南到北,传送带不能交叉,并 ...
- 关于java、Android中Math的一些用法
java.math.Math类常用的常量和方法: Math.PI 记录的圆周率Math.E记录e的常量Math.abs 求绝对值Math.sin 正弦函数 Math.asin 反正弦函数Math.co ...
- UVA10054 The Necklace
UVA10054 The Necklace 链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=18806 [思路] 欧拉回路 ...
- ACM1997_汉诺栽塔VII
#include <stdio.h> #include <iostream> #include <queue> #include <stdlib.h> ...
- hdoj 4786 Fibonacci Tree【并查集+最小生成树(kruskal算法)】
Fibonacci Tree Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)To ...
- 字符串、十六进制、byte数组互转
import java.io.ByteArrayOutputStream; public class HexUtil { /** * @param args */ public static void ...
- hdu 1010 dfs搜索
Tempter of the Bone Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Othe ...
- Android color(颜色) 在XML文件和java代码中
Android color(颜色) 在XML文件和java代码中,有需要的朋友可以参考下. 1.使用Color类的常量,如: int color = Color.BLUE;//创建一个蓝色 是使用An ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(27)-权限管理系统-分配用户给角色
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(27)-权限管理系统-分配用户给角色 分配用户给角色,跟分配角色给用户操作是基本一致的. 打开模块维护,展 ...
- python 3Des 加密
import hashlib; from Crypto.Cipher import DES3 import base64 def create_key(sk): r=hashlib.md5(sk).d ...