关于linux下的iptables 的浅析命令和了解
iptables默认三张表:
- filter:防火墙,包含INPUT、OUTPUT、FORWARD
- nat:网络地转转换,包含PREROUTING、POSTROUTING、OUTPUT
- mangle:流量×××,包含所有的五条链
iptables的五条链 ->写规则的地方
- INPUT:数据包的目地的是LINUX主机本身
- OUTPUT:数据包由LINUX主机本身发送
- FORWARD:数据包从一个接口进入,另一个接口发出(如果做路由转发的话必须开启/etc/sysctl.conf 修改net.ipv4.ip_forward=1)
- PREROUTING:做路由之前
- POSTROUTING:做路由之后
命令
清空防火墙
iptables -F
把INPUT默认规则改成DROP
iptables -P INPUT DROP
添加一条规则允许SSH通过INPUT
一般插入很多人都写iptables -A (是追加规则,添加的规则在最下方,防火墙的规则是谁在最上边谁生效,所以我一般用-I,添加的规则先生效并且I能指定具体位置)
iptables -I INPUT -p tcp -s 192.168.0.0/24 --dport 22 -j ACCEPT
iptables -I INPUT 2 -p tcp --dport 80 -j ACCEPT(将这条规则插入到上面第二行)
只允许允许192.168.0.0、24从eth0网卡访问本机的22端口
iptables -I INPUT -i eth0 -p tcp -s 192.168.0.0/24 --dport 22 -j ACCEPT
列出防火墙规则
iptables -L
删除INPUT里面的第二条规则(从最上面开始)
iptables -D INPUT 2
保存防火墙规则(防火墙如果没有保存,重启服务后规则失效)
service iptables save
备份防火墙规则
iptables-resotre < /etc/sysconfig/iptables.20130301
路由
阻止某个IP到达本机
iptables -I FORWARD -s 202.106.0.20 -j DROP
iptables -t nat -I POSTROUTING -s 192.168.0.0/24 -j SANT --to 1.1.1.1
将192.168.0.0网段的地址转换成1.1.1.1去做nat访问
iptables -t nat -I POSTROUTING -s 192.168.0.0/24 -j SANT --to 1.1.1.1-1.1.1.20
将192.168.0.0网段的地址转换成1.1.1.1-20网段的地址去做nat访问
iptables -t nat -I PREROUTING -i eth0 -p tcp 80 -j DNAT --to 192.168.0.1
将通过网卡eth0的访问80端口的数据包目的地址改为192.168.0.1
iptables -t nat -I POSTROUTING -s 192.168.0.0/24 -j MASQUERADE
将源地址是192.168.0.0/24网段的数据包地址进行伪装
STATE
-m state --state 状态分为
NEW: 有别于tcp的syn
ESTABLISHED:连接态
RELATED:衍生态,与conntrack(连接跟踪模块)关联(FTP)
INVALID:不能识别的连接或者状态
iptables -I INPUT -m state --state RELATED,ESTABLISHED \ -就ACCEPT
允许连接出去后对方主机回应的数据包
MAC
-m mac --mac-source MAC
iptables -I FORWARD -m mac --mac0source xx:xx:xx:xx:xx:xx \ -j DROP
阻断来自某MAC地址的数据包,经过本机的路由
iptables -P FORWARD DROP
iptables -I FORWARD -s 192.168.0.2 -m mac --mac-source xx:xx:xx:xx:xx:xx -j ACCEPT
ip与mac地址绑定,只有这个ip能从本机路由
LIMIT限速
-m limit --limit
iptables -I FORWARD -d 192.168.0.2 -m limit --limit 50/s -j ACCEPT
iptables -I FORWARD -d 192.168.0.2 -j DROP
限速50/s要想实现限制上传和下载的速度,得结合TC去分网段
简单web服务器上的防火墙配置
iptables -I INPUT -i eth0(网络端口端口)-j ACCEPT
iptables -I INPUT -p tcp -m multiport --dports 22,80 -j ACCEPT
iptables -I INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -P INPUT DROP
网关
实例:ADSL 拨号上网的拓扑
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -I POSTROUTING -s 192.168.1.0/24 -o eth0 \
-j MASQUERADE
对外服务器
服务协议(TCP/UDP)
对外服务端口
内部服务器私网 IP
内部真正服务端口
实例:
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 80 \
-j DNAT --to 192.168.1.1
iptables -t nat -A PREROUTING -i ppp0 -p tcp --dport 81 \
-j DNAT --to 192.168.1.2:80
转载于:https://blog.51cto.com/sanxiayouren/1143125
关于linux下的iptables 的浅析命令和了解相关推荐
- linux下防火墙iptables用法规则详解
linux下防火墙iptables用法规则详解 分享者: du52.com 邮件: wangaibo168@163.com 主页: http://www.du52.com linux下防火墙iptab ...
- linux配置指定ip访问指定端口号,操作系统linux和dos linux下通过iptables只允许指定ip地址访问指定端...
一篇 : linux下通过iptables只允许指定ip地址访问指定端口的设置方法 首先,清除所有预设置 iptables -F#清除预设表filter中的所有规则链的规则 iptables -X#清 ...
- Linux下用iptables做端口映射
Linux下用iptables做端口映射详细过程 在CentOS5.4上用iptables配置了端口映射,讲述详细的配置过程,供大家参考. [实现功能] server-A eth0 119. ...
- Linux下常见的文本处理命令
众所周知,在Linux下"一切皆文件"的原则,一切配置文件都可以以文本的方式进行编辑.存储.故对文本文件的操作能力,决定着你是否能够在Linux下操纵自如.今天,就写下几个关于Li ...
- (转载)linux下的find文件查找命令与grep文件内容查找命令
linux下的find文件查找命令与grep文件内容查找命令 转载于和感谢:linux下的find文件查找命令与grep文件内容查找命令 目录 1.前言 1.1 find命令和grep命令的区别 2. ...
- linux下挂载和卸载的命令的用法:mount 、umount
linux下挂载和卸载的命令的用法:mount .umount 将Windows C:盘(hda1)安装在Linux文件系统的/winsys目录下, 命令是:mount /dev/had1 /wins ...
- linux为什么用tar压缩,linux下tar压缩和解压命令用法详解
linux下tar压缩和解压命令用法详解 2017-03-25 14:06 分享人:老牛 将/usr/local/test目录下所有文件仅打包,不压缩到 /usr/local/auto_bak/目下 ...
- linux如何在a休息时运行b,Linux下如何优雅地修正命令?
原标题:Linux下如何优雅地修正命令? 来源:公众号[编程珠玑] 作者:守望先生 ID:shouwangxiansheng 如何快速纠正你的linux命令?我们在输入命令的时候,难免会出现输入命令错 ...
- linux常用调试,linux下gdb常用的调试命令
用gdb调试程序时,常常很困惑一些命令的使用,要么是不知道这个命令,要么忘了命令的使用方法.接下来是小编为大家收集的linux下gdb常用的调试命令,希望能帮到大家. linux下gdb常用的调试命令 ...
- linux 更新软件命令 失败,对linux下软件(库)的更新命令详解
在ubuntu服务器下安装包的时候,经常会用到sudo apt-get install 包名 或 sudo pip install 包名,那么两者有什么区别呢? 1.区别 pip用来安装来自PyPI( ...
最新文章
- No view found for id 0x7f0900d8
- 抖音数据统计_“彭十六elf”单条视频获赞200W+,荣登抖音TOP20丨红人榜
- 三数之和(Java、C实现)
- Linux定时任务Crontab命令详解
- ajax同步和异步的区别_同步电机和异步电机区别
- PageHelper分页时超过最大数量的页数仍然返回数据,PageHelper分页失效
- Android10不能用谷歌,谷歌真的很严格,一大波老APP将不能在安卓10.0运行
- 【收藏】需求文档(PRD)终极撰写指南
- android x86 sleep,如何打开Android X86对houdini的支持
- 基于MSP430F413水果电池供电的低功耗时钟
- nohup与区别于使用
- 2016考研数学三复习计划
- eclipse常用插件之FindBugs
- cdr软件百度百科_cdr软件是什么?cdr是什么软件?
- Linux下误删除文件的各种恢复工具
- hadoop安装作业
- 缺少配色灵感,整理超全超赞的配色工具帮你
- 思维导图到底是什么-图说思维导图定义
- Java SpringBoot 表单提交Json提交 Star.hou
- android百度地图画圆,使用百度地图Api,在地图上画圆形区域