iptables应用
192.168.4.119 为本机的ip地址;每条链的规则是由上至下进行匹配,因此我们需要把范围小的规则放在上面以防被覆盖。
1)清空iptables默认规则,并自定义规则
[root@iptables ~]# systemctl start firewalld.service #启用防火墙
[root@iptables ~]# iptables -F #清空默认规则
[root@iptables ~]# iptables -I INPUT -d 192.168.4.119 -p tcp --dport 22 -j ACCEPT #接受任何主机对本机的ssh连接请求
[root@iptables ~]# iptables -I OUTPUT -s 192.168.4.119 -p tcp --sport 22 -j ACCEPT #允许本机对任何主机建立ssh连接
[root@iptables ~]# iptables -A INPUT -j REJECT #最后一条规则设置为拒绝所有入站请求
[root@iptables ~]# iptables -A OUTPUT -j REJECT #最后一条规则设置为拒绝所有出站流量
[root@iptables ~]# iptables -vnL
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT tcp -- * * 0.0.0.0/0 192.168.4.119 tcp dpt:22
7 1076 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT tcp -- * * 192.168.4.119 0.0.0.0/0 tcp spt:22
8 720 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
2)多端口匹配,开放21,22,23,80,3306端口
[root@iptables ~]# iptables -I INPUT -d 192.168.4.119 -p tcp -m multiport --dports 21:23,80,3306 -j ACCEPT
[root@iptables ~]# iptables -I INPUT -d 192.168.4.119 -p udp -m multiport --dports 21:23,80,3306 -j ACCEPT
[root@iptables ~]# iptables -I OUTPUT -s 192.168.4.119 -p tcp -m multiport --sports 21:23,80,3306 -j ACCEPT
[root@iptables ~]# iptables -I OUTPUT -s 192.168.4.119 -p udp -m multiport --sports 21:23,80,3306 -j ACCEPT
3)连续地址的匹配,允许192.168.4.1 ~ 192.168.4.100访问80端口
[root@iptables ~]# iptables -I INPUT -d 192.168.4.119 -p tcp --dport 80 -m iprange --src-range 192.168.4.1-192.168.4.100 -j ACCEPT
[root@iptables ~]# iptables -I OUTPUT -s 192.168.4.119 -p tcp --sport 80 -m iprange --dst-range 192.168.4.1-192.168.4.100 -j ACCEPT
4)限定时间访问,只允许周一到周五 9:00~18:00 之间访问80端口
[root@iptables ~]# iptables -I INPUT -d 192.168.4.119 -p tcp --dport 80 -m time --kerneltz --weekdays 1,2,3,4,5 --timestart 9:00 --timestop 18:00 -j ACCEPT
[root@iptables ~]# iptables -I OUTPUT -s 192.168.4.119 -p tcp --sport 80 -m time --kerneltz --weekdays 1,2,3,4,5 --timestart 9:00 --timestop 18:00 -j ACCEPT
5)对报文作字符串匹配,拒绝响应带“vpn”明文字符的报文通过80端口
[root@iptables ~]# iptables -I OUTPUT -s 192.168.4.119 -p tcp --sport 80 -m string --algo kmp --string "vpn" -j REJECT
6)并发连接限制,限制192.168.2.0/24网段中每个ip对3306端口最多只能有2个并发
[root@iptables ~]# iptables -I INPUT -d 192.168.4.119 -s 192.168.2.0/24 -p tcp --dport 3306 -m connlimit --connlimit-upto 2 -j ACCEPT
7)对报文作速率限制,限制同时最多有5个icmp包,每秒1个icmp包
[root@iptables ~]# iptables -I INPUT -d 192.168.4.119 -p icmp --icmp-type 8 -m limit --limit-burst 5 --limit 60/minute -j ACCEPT
[root@iptables ~]# iptables -I OUTPUT -s 192.168.4.119 -p icmp --icmp-type 0 -j ACCEPT
8)对报文状态作匹配,开放会话状态为ESTABLISHED的连接
[root@iptables ~]# iptables -I INPUT -d 192.168.4.119 -m state --state ESTABLISHED -j ACCEPT
[root@iptables ~]# iptables -I OUTPUT -s 192.168.4.119 -m state --state ESTABLISHED -j ACCEPT
9)对ftp服务作会话追踪:
# 加载ftp追踪模块
[root@iptables data]# modprobe nf_conntrack_ftp
[root@iptables data]# lsmod | grep ftp
nf_conntrack_ftp 18638 0
nf_conntrack 105745 8 nf_nat,nf_nat_ipv4,nf_nat_ipv6,xt_conntrack,nf_nat_masquerade_ipv4,nf_conntrack_ftp,nf_conntrack_ipv4,nf_conntrack_ipv6
# 卸载模块:rmmod nf_conntrack_ftp
# 添加iptables rules
[root@iptables data]# iptables -I INPUT -d 192.168.4.119 -p tcp --dport 21 -m state --state NEW -j ACCEPT
[root@iptables data]# iptables -I INPUT -d 192.168.4.119 -m state --state ESTABLISHED,RELATED -j ACCEPT
[root@iptables data]# iptables -I OUTPUT -s 192.168.4.119 -m state --state ESTABLISHED -j ACCEPT
[root@iptables data]# cat /proc/net/nf_conntrack
ipv4 2 tcp 6 431995 ESTABLISHED src=192.168.4.116 dst=192.168.4.119 sport=57103 dport=21 ...
10)将对80端口的访问重定向到8080端口:
[root@iptables ~]# iptables -t nat -I PREROUTING -d 192.168.4.119 -p tcp --dport 80 -j REDIRECT --to-port 8080
[root@iptables ~]# iptables -I INPUT -d 192.168.4.119 -p tcp --dport 8080 -j ACCEPT
[root@iptables ~]# iptables -I OUTPUT -s 192.168.4.119 -p tcp -m multiport --sports 80,8080 -j ACCEPT
iptables应用的更多相关文章
- iptables
一.在服务器上打开 22.80.9011端口: iptables -A INPUT -p tcp --dport 9011 -j ACCEPT iptables -A OUTPUT -p tcp -- ...
- 浅谈iptables 入站 出站以及NAT实例
--------------本文是自己工作上的笔记总结,适合的可以直接拿去用,不适合的,适当修改即可!--------------- iptbales默认ACCEPT策略,也称通策略,这种情况下可以做 ...
- Failed to stop iptables.service: Unit iptables.service not loaded.
redhat 7 [root@lk0 ~]# service iptables stop Redirecting to /bin/systemctl stop iptables.service Fai ...
- CentOS7安装iptables防火墙
CentOS7默认的防火墙不是iptables,而是firewalle. 安装iptable iptable-service #先检查是否安装了iptables service iptables st ...
- linux iptables常用命令之配置生产环境iptables及优化
在了解iptables的详细原理之前,我们先来看下如何使用iptables,以终为始,有可能会让你对iptables了解更深 所以接下来我们以配置一个生产环境下的iptables为例来讲讲它的常用命令 ...
- CentOS系统配置 iptables防火墙
阿里云CentOS系统配置iptables防火墙 虽说阿里云推出了云盾服务,但是自己再加一层防火墙总归是更安全些,下面是我在阿里云vps上配置防火墙的过程,目前只配置INPUT.OUTPUT和FO ...
- /etc/sysconfig/下找不到iptables文件解决方法
时间:2014-12-19 01:17来源:csdn 作者:大智 举报 点击:5639次 本想做些防火墙策略.防火墙策略都是写在/etc/sysconfig/iptables文件里面的.可我发现我也没 ...
- docker通过iptables修改或新增镜像映射端口
443 8088 22 端口是初始映射端口 [root@SERVER ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAM ...
- lnmp 预设iptables设置
「LNMP」iptables初始配置 首先使用命令iptables -P INPUT ACCEPT允许所有连接,否则容易把自己关在外边.然后使用iptables -F;iptables -X;ip ...
- 关闭SELinux和iptables防火墙
1.关闭SELinux: 编辑SELinux配置文件: [root@Redis selinux]# vim /etc/selinux/config 修改SELINUX配置项为disable SELIN ...
随机推荐
- stark——快速过滤list_filter
一.获取过滤字段 1.给自定义配置类配置list_filter app01/stark.py: class BookConfig(ModelStark): list_display = [" ...
- ie7下属性书写不规范造成的easyui 弹窗布局紊乱
(一)在ie7下 弹窗只是普通页面 (二)控制台报错 (三)原因: (四)解决 去掉 data-options 属性里的 , 就可以了
- Weka:call for the EM algorithm to achieve clustering.(EM算法)
EM算法: 在Eclipse中写出读取文件的代码然后调用EM算法计算输出结果: package EMAlg; import java.io.*; import weka.core.*; import ...
- 【Mood 19】DailyBuild 2月
2月1号 仿美团loading时小人奔跑动画 HTML5定稿了,为什么原生App世界将被颠覆? -----HTML5一改过去卡顿不兼容的毛病,在硬件升级以及苹果谷歌策略变化的背景下,让自己的优势相对于 ...
- 深度语义匹配模型-DSSM 及其变种
转自:http://ju.outofmemory.cn/entry/316660 感谢分享~ DSSM这篇paper发表在cikm2013,短小但是精炼,值得记录一下 ps:后来跟了几篇dssm的pa ...
- Gson 转换hibernate级联对象出现StackOverFlow(堆栈溢出)问题
< many-to-one>和< one-to-many>属性的对象级联关系在转换时会造成死循环,报stackOverFlowException. 比如下面这段: @OneTo ...
- 简谈 Java 中的泛型通配符
很好的一篇文章https://zhuanlan.zhihu.com/p/26681625
- solidity语言4
引用类型(Reference Types) memory 不支持持久保存 storage 保留为变量 复杂类型如arrays和structs,有附加信息,'data location',提示存储在'm ...
- Spark天堂之门解密
本课主题 什么是 Spark 的天堂之门 Spark 天堂之门到底在那里 Spark 天堂之门源码鉴赏 引言 Spark 天堂之门就是SparkContext,这篇文章会从 SparkContext ...
- 【洛谷5283】[十二省联考2019] 异或粽子(可持久化Trie树+堆)
点此看题面 大致题意: 求前\(k\)大的区间异或和之和. 可持久化\(Trie\)树 之前做过一些可持久化\(Trie\)树题,结果说到底还是主席树. 终于,碰到一道真·可持久化\(Trie\)树的 ...