当前位置:首页>安卓游戏>卡牌桌游> 正文
iptables,iptables禁止某个ip访问80端口卡牌桌游

iptables,iptables禁止某个ip访问80端口

1年前 (2024-07-11)类别:卡牌桌游

  • 发布日期:2025-11-22 01:16:17
  • 所属类别:卡牌桌游
  • 下载人数:6382
  • 版本:
  • 大小:

立即下载

扫二维码手机浏览

iptables,iptables禁止某个ip访问80端口介绍

大家好,今天我将为大家揭秘iptables和iptables禁止某个ip访问80端口的奥秘,希望我的分享能给你带来新的启发和知识。

Linux防火墙iptables简明教程

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

iptables,iptables禁止某个ip访问80端口

Linux防火墙iptables简明教程

1.安装iptables

2.查看现有的iptables规则

iptables,iptables禁止某个ip访问80端口

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 **arty pant!

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

   IPTABLES_BIN=/**in/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规则是否生效/正确,这一步的命令,之前有提到哦,开动脑筋,实在忘了,点击此处~

iptables是什么命令

是刷新dns缓存命令。

刷新dns缓存只需要通过用刷新dns缓存的命令即可刷新好。那么刷新dns缓存的命令是什么呢?就是【ipconfig/flushdns】。具体操作步骤如下:

步骤一、首先按住键盘win+R组合键,打开了一个运行窗口,之后在运行窗口上输入“CMD”命令,执行该命令即可打开命令提示符窗口了。如图所示:

步骤二、然后在命令提示符上线查看下你的电脑上的dns缓存的全部信息,输入“ipconfig/displaydns”即可查询dns缓存信息了。之后在输入“ipconfig/flushdns”命令敲回车键即可将你本机上的dns缓存清空了。当然如果你不信的话,可以重新输入“ipconfig/displaydns”查询dnd缓存就能知道是否清空了本机dns缓存信息了。如图所示:

以下是相关的命令补充:

运行:ipconfig/displaydns这个命令,查看一下本机已经缓存了那些的dns信息的,然后输入下面的命令

ipconfig/flushdns

这时本机的dns缓存信息已经清空了,我们可以再次输入第一次输入的命令来看一下,

ipconfig/displaydns

ipconfig/displaydns显示dns缓存

ipconfig/flushdns刷新DNS记录

ipconfig/renew重请从DHCP服务器获得IP

先可以输入ipconfig/displaydns显示dns缓存根据显示结果你可以很直观的看到现在你的DNS所指上的IP,然后运行ipconfig/flushdns刷新DNS记录和ipconfig/renew重请从DHCP服务器获得IP就可以了,如果一次刷新没有用,可以多次用ipconfig/flushdns进行刷新。

浅谈iptables

iptables是linux系统下用来做防火墙的二进制文件(linux上位于/**in/iptables,android中位于/system/bin/iptables),底层依赖于内核的netfilter模块,用来完成封包过滤、封包重定向和网络地址转换(NAT)等功能(在android上需要root使用)。

举个例子来简单看看iptables命令的基本用法。

意思是在nat转发表的OUTPUT输出链中增加这样一条规则:倘若OUTPUT输出链拦到了tcp请求,则将其重定向到本地的8123端口。

可以看到iptables中有表、链和规则的概念,那么先通过iptables传输数据包的过程来简单了解下表和链是什么以及他们之间的关系。

可以看到链就是对数据包传输路径的一种抽象,一个数据包根据其具体场景以固定的顺序依次经过PREROUTING、INPUT等各个链,在经过各个链时,又有不同的表在监听这个链,而nat、filter等表中有包含一系列的规则,当一个数据包到达一个链时,iptables就会从链中第一条规则开始检查,看该数据包是否满足规则所定义的条件。如果满足,系统就会根据该条规则所定义的方法处理该数据包;否则iptables将继续检查下一条规则。

值得注意的是,

至此我们了解了表、链和规则是什么以及他们之间的关系,下面来具体看下 iptables命令的基本用法。

更多关于各command、parameter的具体含义以及用法可以参考

iptables对网络数据包做过滤或拦截时其维度只能局限于网络数据包收发的ip地址、端口号、网卡、tcp/udp协议,因此可以推测iptables最终是在ip层对网络数据包做的拦截。

那iptables基于netfilter具体是怎么做到在各个链上对数据包做拦截的呢?

/net/ipv4/ip_output.c

/net/ipv4/ip_input.c

/net/ipv4/ip_forward.c

可以看到内核在每一个数据转发的关键节点都调用了NF_HOOK这个宏,来看下NF_HOOK这个宏干了啥

关于NF_HOOK相关具体逻辑可参见

版权说明:如非注明,本站文章均为皮努努下载原创,转载请注明出处和附带本文链接;

本文地址:https://www.pinunu.com/kpzy/iptablesiptablesa.html