iptables网络访问控制
来源:互联网 发布:传奇霸业法师武魂数据 编辑:程序博客网 时间:2024/06/06 03:56
参考But_Bueatiful的博客:网址:http://blog.chinaunix.net/uid-26495963-id-3279216.html
iptables将规则组成一个列表,实现绝对详细的访问控制功能。
这五个位置也被称为五个钩子函数(hook functions),也叫五个规则链。
1.PREROUTING (路由前)
2.INPUT (数据包流入口)
3.FORWARD (转发管卡)
4.OUTPUT(数据包出口)
5.POSTROUTING(路由后)
这是NetFilter规定的五个规则链,任何一个数据包,只要经过本机,必将经过这五个链中的其中一个链。
1.SNAT基于原地址的转换
基于原地址的转换一般用在我们的许多内网用户通过一个外网的口上网的时候,这时我们将我们内网的地址转换为一个外网的IP,我们就可以实现连接其他外网IP的功能。
将所有192.168.10.0网段的IP在经过的时候全都转换成172.16.100.1这个假设出来的外网地址:
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j SNAT --to-source 172.16.100.1
这样,只要是来自本地网络的试图通过网卡访问网络的,都会被统统转换成172.16.100.1这个IP.
2.DNAT目标地址转换
对于目标地址转换,数据流向是从外向内的,外面的是客户端,里面的是服务器端通过目标地址转换,我们可以让外面的ip通过我们对外的外网ip来访问我们服务器不同的服务器,而我们的服务却放在内网服务器的不同的服务器上。
如何做目标地址转换呢?:
iptables -t nat -A PREROUTING -d 192.168.10.18 -p tcp --dport 80 -j DNAT --todestination 172.16.100.2
目标地址转换要做在到达网卡之前进行转换,所以要做在PREROUTING这个位置上
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8180
把80端口路由转为8180端口
-t nat:显示所有的关卡的信息
-A:追加,在当前链的最后新增一个规则
-p:用于匹配协议的(这里的协议通常有3种,TCP/UDP/ICMP
-p tcp :TCP协议的扩展。一般有三种扩展
--dport XX-XX:指定目标端口,不能指定多个非连续端口,只能指定单个端口
-j ACTION ,其中ACTION可以为REDIRECT:重定向:主要用于实现端口重定向
-j ACTION ,其中ACTION可以为REDIRECT:重定向:主要用于实现端口重定向
阅读全文
0 0
- iptables网络访问控制
- android平台利用iptables控制网络访问
- iptables控制Linux端口访问
- Android下基于Iptables的一种app网络访问控制方案(一)
- Android下基于Iptables的一种app网络访问控制方案(二)
- mongodb访问控制及iptables管理
- Linux下使用iptables设置访问控制
- Linux 网络访问控制
- Linux中iptables内外网络控制
- android iptables 屏蔽某个app网络访问
- Android app网络访问控制
- iptables 应用初探(nat+三层访问控制)
- 一段debian 下面Iptables脚本控制ip访问的例子。
- iptables 应用初探(nat+三层访问控制)
- iptables 应用初探(nat+三层访问控制)
- iptables 应用初探(nat+三层访问控制)
- iptables控制Linux端口访问[精华]
- iptables对请求的URL作IP访问控制
- 特征离散化系列(一)方法综述
- 开发一个功能之前需要问的问题
- 《大话数据结构》读书笔记(三)
- LeetCode-389. Find the Difference (Java)
- js基础-表单验证和提交
- iptables网络访问控制
- Linux文件目录介绍及文件颜色
- 常用通信协议
- MySQL的几个概念:主键,外键,索引,唯一索引
- Git的详细使用
- HMM学习最佳范例:维特比算法(Viterbi Algorithm)
- 原生js封装获取上/下一个兄弟节点
- jq淡入淡出轮播图
- Day06-jQuery02