Linux防火墙iptables简明教程

   前几天微魔部落再次遭受到个别别有用心的攻击者的攻击,顺便给自己充个电,复习了一下linux下常见的防火墙iptables的一些内容,但是无奈网上的很多教程都较为繁琐,本着简明化学习的目的,微魔为大家剔除了许多冗余的内容,提取出尽量多的精华部分成文,和大家共同学习,本文涉及的内容包括如下

  Linux防火墙iptables简明教程

  1.安装iptables

  2.查看现有的iptables规则

  3.删除某iptables规则

  4.清除现有iptables规则

  5.创建规则

  6.设置开机启动

  7.保存iptables规则

  8.iptables在手动防CC攻击中的简单应用

  1.安装iptables

  很多Linux已经默认安装iptables,可使用后文的查看命令测试是否安装

  CentOS/RedHat下执行:

  yum install iptablesDebian/Ubuntu下执行:

  apt-get install iptables

  2.查看现有的iptables规则

  命令后面的line-number为显示行号(将规则一则一则输出,并显示行号),可选,方便后文的删除指令。

  iptables -L -n --line-numbers

  3.删除某iptables规则

  例如,删除第12行的规则,行号可由之前的命令查看

  iptables -D INPUT 12

  4.清除现有iptables规则

  iptables -F

  iptables -X

  iptables -Z

  5.创建规则

  a).开放端口

  命令iptables -A INPUT -j REJECT将屏蔽其他未授权的端口,因此请务必开放22端口以保障SSH连接正常~

  代码如下:

  #允许本机访问

  iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT

  # 允许已建立的或相关连的通行

  iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

  #允许所有本机向外的访问

  iptables -A OUTPUT -j ACCEPT

  # 允许访问22端口

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

  #允许访问80端口

  iptables -A INPUT -p tcp --dport 80 -j ACCEPT

  #允许FTP服务的21和20端口

  iptables -A INPUT -p tcp --dport 21 -j ACCEPT

  iptables -A INPUT -p tcp --dport 20 -j ACCEPT

  #如果有其他端口的话,规则也类似,稍微修改上述语句就行

  #禁止其他未允许的规则访问

  iptables -A INPUT -j REJECT

  iptables -A FORWARD -j REJECT

  b).屏蔽ip

  iptables -I INPUT -s 123.123.123.123 -j DROP可通过更换上述ip为ip段来达到屏蔽ip段的目的~

  若需屏蔽整个ip段(123.0.0.1到123.255.255.254)则换为123.0.0.0/8

  若需屏蔽ip段123.123.0.1到123.123.255.254,则换为124.123.0.0/16

  若需屏蔽ip段123.123.123.1到123.123.123.254则换为123.123.123.0/24

  6.设置开机启动

  一般在安装iptables完成后,开机启动会自动设置成功,但在个别CentOS系统上,貌似还有些问题,可以使用如下命令手动设置

  chkconfig --level 345 iptables on

  7.保存iptables规则

  service iptables save

  8.iptables在手动防CC攻击中的简单应用

  关于获取攻击者ip的方法,可以通过很多方法获取,如查看网站日志等,本文不再赘述。

  a).建立要屏蔽的ip/ip段文件,名为ip.txt

  #屏蔽的ip

  123.4.5.6

  #屏蔽的ip段(编写方法,同前文)

  123.4.5.6/24b).建立block_ip.sh脚本文件

  代码如下:

  #!/bin/sh

  # Filename: block_ip.sh

  # Purpose: blocks all IP address/network found in a text file

  # The text file must have one IP address or network per line

  #################################################################

  # Change the following path/filename to match yours

  IP_LIST_FILE=/path/to/ip.txt

  #################################################################

  # Don't change anything below unless you are a smarty pant!

  #################################################################

  IPTABLES_BIN=/sbin/iptables

  # Get the IP address/network from the file and ignore any line starting with # (comments)

  BAD_IP_ADDR_LIST=$(grep -Ev "^#" $IP_LIST_FILE)

  # Now loop through the IP address/network list and ban them using iptabels

  for i in $BAD_IP_ADDR_LIST

  do

  echo -n "Blocking $i ...";

  $IPTABLES_BIN -A INPUT -s $i -j DROP

  $IPTABLES_BIN -A OUTPUT -d $i -j DROP

  echo "DONE.";

  done

  ##################################################################

  # END OF SCRIPT - NOTHING TO SEE HERE - THAT'S ALL FOLKS!

  ##################################################################

  c).运行脚本

  sh /path/to/block_ip.sh

  d).查看iptables规则是否生效/正确,这一步的命令,之前有提到哦,开动脑筋,实在忘了,点击此处~

时间: 2024-12-03 07:11:55

Linux防火墙iptables简明教程的相关文章

Linux防火墙Iptables新手教程(非常的详细)

首先我们要弄明白,防火墙将怎么对待 这些数据包.这些数据包会经过一些相应的规则链,比如要进入你的计算机的数据包会首先进入INPUT链,从我们的计算机发出的数据包会经过 OUTPUT链,如果一台计算机做一个网络的网关(处于内网和外网两个网络连接的两台计算机,这两台计算机之间相互通讯的数据包会经过这台计算机,这台计 算机即相当于一个路由器),可能 会有很多数据经过这台计算机,那么这些数据包必经FORWARD链,FORWARD链即数据转发链.明白了这些"链"的概念我们才能进一步学习使用 ip

关于Linux防火墙'iptables'的面试问答

Nishita Agarwal是Tecmint的用户,她将分享关于她刚刚经历的一家公司(印度的一家私人公司Pune)的面试经验.在面试中她被问及许多不同的问题,但她是iptables方面的专家,因此她想分享这些关于iptables的问题和相应的答案给那些以后可能会进行相关面试的人. Linux防火墙Iptables面试问题 所有的问题和相应的答案都基于Nishita Agarwal的记忆并经过了重写. "嗨,朋友!我叫Nishita Agarwal.我已经取得了理学学士学位,我的专业集中在UNI

Linux防火墙Iptables如何设置只允许特定ip访问某端口

Linux防火墙Iptable如何设置只允许某个ip访问80端口,只允许特定ip访问某端口?参考下面命令,只允许46.166.150.22访问本机的80端口.如果要设置其他ip或端口,改改即可. iptables -I INPUT -p TCP --dport 80 -j DROP iptables -I INPUT -s 46.166.150.22 -p TCP --dport 80 -j ACCEPT 在root用户下执行上面2行命令后,重启iptables, service iptable

linux防火墙(iptables)关闭与开启配置

1) 永久性生效,重启后不会复原 开启:  代码如下 复制代码 chkconfig iptables on 关闭:  代码如下 复制代码 chkconfig iptables off 2) 即时生效,重启后复原 开启:    代码如下 复制代码 service iptables start 关闭:  代码如下 复制代码 service iptables stop 需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作. 在开启了防火墙时,做如下设置,开启相关端口, 修改/etc

Linux 防火墙iptables 禁止某些 IP访问

方法一,过滤一些IP访问本服务器 要封停一个IP,使用下面这条命令:  代码如下 复制代码 iptables -I INPUT -s ***.***.***.*** -j DROP 要解封一个IP,使用下面这条命令:    代码如下 复制代码 iptables -D INPUT -s ***.***.***.*** -j DROP 参数-I是表示Insert(添加),-D表示Delete(删除).后面跟的是规则,INPUT表示入站,***.***.***.***表示要封停的IP,DROP表示放弃

linux防火墙iptables常用shell脚本

 代码如下 复制代码 #!/bin/sh #------------------------------------------------------------------------------  # For debugging use iptables -v. IPTABLES="/sbin/iptables" IP6TABLES="/sbin/ip6tables" MODPROBE="/sbin/modprobe" RMMOD=&quo

使用iptables建置Linux 防火墙(1)

防火墙在校园内一直被认为陌晦高深,很少有系管师有勇气进行计划性的实验,基本上这份讲义也可以当成测试报告来阅读,是笔者秉持我不入地狱.谁入地狱的精神,冒着生命危险,蛮干出来的成果,也藉此抛砖引玉,希望能带动国内能力高于笔者许多的众家高手,一起来进行有利于校园网络的公益研究! 壹.什么是防火墙 防火墙是一套能够在两个或两个以上的网络之间,明显区隔出实体线路联机的软硬件设备组合.被区隔开来的网络,可以透过封包转送技术来相互通讯,透过防火墙的安全管理机制,可以决定哪些数据可以流通,哪些资料无法流通,藉此

linux防火墙基础知识以及如何管理设置iptables规则

一.linux防火墙基础 防火墙分为硬件防火墙和软件防火墙. 1.概述 linux 防火墙体系主要工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙. 包过滤机制:netfilter 管理防火墙规则命令工具:iptables netfilter 指linux内核中实现包过滤防火墙的内部结构,不依程序或文件的形式存在,属于"内核态"的防火墙功能体系 iptables 指管理linux防火墙的命令工具,属于"用户态"的防火墙管理体系 2.ipta

linux系统防火墙iptables命令规则及配置

防火墙概述: 在互联网上我们的主机随时都有被攻击的可能,因此我们需要用到防火墙机制来保护我们互联网上的主机,在我们主机上面,防火墙主要是通过一些规则来限制一些不安全因素的网络信息传输,准确的说,防火墙就是制定一些有顺序的规则,来管理所负责的范围内的主机数据封包的一种机制,通过防火墙我们能够分析和过滤进出主机或者网络的封包数据,从而将一些不安全因素的包隔离开. iptables与netfilter: Linux上的防火墙是由iptables/netfilter组成,iptables是基于netfi