linux运维之iptables的一些操作(参考大神的)

一、 iptables环境准备

1.安装iptables管理命令

[root@test ~]# yum install iptables-services -y

2.加载防火墙的内核模块

modprobe ip_tables

modprobe iptable_filter

modprobe iptable_nat

modprobe ip_conntrack

modprobe ip_conntrack_ftp

modprobe ip_nat_ftp

modprobe ipt_state

3.查看已加载的模块

[root@test ~]#  lsmod |egrep 'filter|nat|ipt'

ipt_REJECT             12541  0 

nf_nat_ftp             12770  0 

nf_conntrack_ftp       18638  1 nf_nat_ftp

iptable_filter         12810  0 

xt_nat                 12681  3 

iptable_nat            12875  1 

nf_nat_ipv4            14115  1 iptable_nat

nf_nat                 26146  3 nf_nat_ftp,nf_nat_ipv4,xt_nat

nf_conntrack          105745  7 nf_nat_ftp,nf_nat,xt_state,nf_nat_ipv4,xt_conntrack,nf_conntrack_ftp,nf_conntrack_ipv4

ip_tables              27240  2 iptable_filter,iptable_nat

4.启动防火墙

首先停止firewalld

systemctl stop firewalld

systemctl disable firewalld

开启iptables

systemctl start iptables.service

systemctl enable iptables.service


二、 iptables基本操作命令

1.查看防火墙规则

[root@test ~]# iptables -nL

Chain INPUT (policy ACCEPT)

target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)

target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)

target     prot opt source               destination

2.清除防火墙规则

iptables -F <-清除所有规则,不会处理默认的规则

iptables -X <-删除用户自定义的链

iptables -Z <-链的计数器清零(数据包计数器与数据包字节计数器)

3.添加防火墙规则

iptables -t <-指定表d(efault: `filter')

iptables -A <-把规则添加到指定的链上,默认添加到最后一行。

iptables -I <-插入规则,默认插入到第一行(封IP)。

iptables -D <-删除链上的规则

4.网络连接状态

NEW:已经或将启动新的连接

ESTABLISHED:已建立的连接

RELATED:正在启动的新连接

INVALID:非法或无法识别的

5.删除某个规则

iptables -nL --line-numbers查看规则号码

iptables -D INPUT 1删除指定链上的指定序号

iptables A INPUT -p tcp -m state --dport 22 -j DROP

iptables -nL

iptables -nL --line-numbers

iptables -D INPUT 1

三、iptables实战

1.禁止某个端口访问

iptables -t filter -A INPUT -p tcp --dport 22 -j DROP

规则解释:

-p       #<==指定过滤的协议-p(tcp,udp,icmp,all)

--dport  #<==指定目标端口(用户请求的端口)。

-j       #<==对规则的具体处理方法(ACCEPT,DROP,REJECT,SNAT/DNAT)

--sport  #<==指定源端口。

2.规则解释:

-s       #<==指定源地址或网段(192.168.1.0/24)。 ! 取反。

-d       #<==指定目的地址(nat表prerouting)。

-i       #<==进入的网络接口(eth0,eth1)。

-o       #<==出去的网络接口(eth0,eth1)。

3.禁止除跳板机以外的IP访问

iptables -I INPUT -p tcp ! -s 10.0.0.1 -j DROP

4.匹配端口范围

iptables -I INPUT -p tcp -m multiport --dport 21,22,23,24 -j DROP

iptables -I INPUT -p tcp --dport 3306:8809 -j ACCEPT

iptables -I INPUT -p tcp --dport 18:80 -j DROP  #<==最佳

 5. 匹配ICMP类型

iptables -A INPUT -p icmp --icmp-type 8

例:iptables-A INPUT -p icmp --icmp-type 8 -j DROP

iptables -A INPUT -p icmp -m icmp --icmp-type any -j ACCEPT

iptables -A FORWARD -s 192.168.1.0/24 -p icmp -m icmp --icmp-type any -j ACCEPT


6.一些操作

1、封掉10.0.0.7

iptables -I INPUT -s 10.0.0.7 -j DROP

2、让10.0.0.7和SSH客户端(10.0.0.1)服务器可以Ping,其它的不能Ping

iptables -I INPUT -p icmp --icmp-type 8 -s 10.0.0.7 -j ACCEPT

iptables -I INPUT 2 -p icmp ! -s 10.0.0.1 --icmp-type 8 -j DROP

3、封掉3306端口

iptables -I INPUT -p tcp --dport 3306 -j DROP

四、 关于操作命令的解释

1.从上往下依次匹配

2.一但匹配上,就不在往下匹配了

3.默认规则,默认的情况,默认规则是放行所有

-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

-A INPUT :把这条规则添加到INPUT链的最后一行

-p tcp :指定协议为tcp

-m state --state NEW :匹配TCP的连接状态

-m tcp --dport 22 :匹配TCP协议的目标端口

-j ACCEPT :执行动作 放行

iptables A INPUT -p tcp -m state --dport 22 -j DROP

禁止一个数据包:

tcp协议

访问的端口是22

iptables -A INPUT -p tcp --dport 22 -j DROP

iptables -nLiptables -nL --line-numbersiptables -D INPUT 1

禁止源地址是10.0.0.7的主机访问22端口

iptables -A INPUT -p tcp -s 10.0.0.7 --dport 22 -j DROP

禁止源地址是10.0.0.7的主机访问任何端口

iptables -A INPUT -p tcp -s 10.0.0.7 -j DROP

禁止源地址是10.0.0.8的主机访问80端口

iptables -A INPUT -p tcp -s 10.0.0.8 --dport 80 -j DROP

禁止除了10.0.0.7以外的地址访问80端口

iptables -A INPUT -p tcp ! -s 10.0.0.7 --dport 80 -j DROP

2条规则冲突,会以谁先谁为准

iptables -I INPUT -p tcp -s 10.0.0.7 --dport 22 -j ACCEPT

iptables -I INPUT -p tcp -s 10.0.0.7 --dport 22 -j DROP

禁止10.0.0.7访问22和80端口

iptables -I INPUT -p tcp -s 10.0.0.7 -m multiport --dport 22,80 -j DROP

禁止10.0.0.7访问22到100之间的所有端口

iptables -A INPUT -p tcp -s 10.0.0.7 --dport 22:100 -j DROP

禁止所有主机ping

iptables -A INPUT -p icmp --icmp-type 8 -j DROP

放行10.0.0.7可以ping

iptables -I INPUT 2 -p icmp --icmp-type 8 -s 10.0.0.7 -j ACCEPT

只允许10.0.0.7可以ping

ACCEPT icmp -- 10.0.0.7 0.0.0.0/0 icmptype 8

DROP icmp -- 0.0.0.0/0 0.0.0.0/0 icmptype 8

等同于上一条,优化版,只要不是10.0.0.7就不允许ping

iptables -I INPUT -p icmp --icmp-type 8 ! -s 10.0.0.7 -j DROP

优先级:

匹配频次最高的条件放前面

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,013评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,205评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,370评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,168评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,153评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,954评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,271评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,916评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,382评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,877评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,989评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,624评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,209评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,199评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,418评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,401评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,700评论 2 345

推荐阅读更多精彩内容