centos 使用iptables封ip地址的方法

1、安装iptables防火墙
CentOS执行:

yum install iptables
Debian/Ubuntu执行:

apt-get install iptables
2、清除已有iptables规则

iptables -F
iptables -X
iptables -Z

3、开放指定的端口
#允许本地回环接口(即运行本机访问本机)

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
4、屏蔽IP
#如果只是想屏蔽IP的话3、“开放指定的端口”可以直接跳过。
#屏蔽单个IP的命令是

iptables -I INPUT -s 123.45.6.7 -j DROP
#封整个段即从123.0.0.1到123.255.255.254的命令

iptables -I INPUT -s 123.0.0.0/8 -j DROP
#封IP段即从123.45.0.1到123.45.255.254的命令

iptables -I INPUT -s 124.45.0.0/16 -j DROP
#封IP段即从123.45.6.1到123.45.6.254的命令是

iptables -I INPUT -s 123.45.6.0/24 -j DROP
4、查看已添加的iptables规则

iptables -L -n
v:显示详细信息,包括每条规则的匹配包数量和匹配字节数
x:在 v 的基础上,禁止自动单位换算(K、M)
n:只显示IP地址和端口号,不将ip解析为域名
5、删除已添加的iptables规则
将所有iptables以序号标记显示,执行:

iptables -L -n --line-numbers
比如要删除INPUT里序号为1的规则,执行:
iptables -D INPUT 1
6、iptables的开机启动及规则保存

chkconfig --level 345 iptables on
CentOS上可以执行:service iptables save保存规则
linux下使用iptables封ip段的一些常见命令:
封单个IP的命令是:

iptables -I INPUT -s 211.1.0.0 -j DROP
封IP段的命令是:

iptables -I INPUT -s 211.1.0.0/16 -j DROP
iptables -I INPUT -s 211.2.0.0/16 -j DROP
iptables -I INPUT -s 211.3.0.0/16 -j DROP
封整个段的命令是:

iptables -I INPUT -s 211.0.0.0/8 -j DROP
封几个段的命令是:

iptables -I INPUT -s 61.37.80.0/24 -j DROP
iptables -I INPUT -s 61.37.81.0/24 -j DROP
解封的话:

iptables -D INPUT -s IP地址 -j REJECT
全清掉:

iptables -F
关闭:

/etc/rc.d/init.d/iptables stop
启动:

/etc/rc.d/init.d/iptables start
重启:

/etc/rc.d/init.d/iptables restart
1、重启后生效
开启:chkconfig iptables on
关闭:chkconfig iptables off
2、即时生效,重启后失效
开启:service iptables start
关闭:service iptables stop

iptables配置IP地址白名单

编辑iptables配置文件,将文件内容更改为如下,则具备了ip地址白名单功能
#vim /etc/sysconfig/iptables

 

1.*filter
2.:INPUT ACCEPT [0:0]
3.:FORWARD ACCEPT [0:0]
4.:OUTPUT ACCEPT [0:0]
5.
6.-N whitelist
7.-A whitelist -s 1.2.3.0/24 -j ACCEPT
8.-A whitelist -s 4.5.6.7 -j ACCEPT
9.
10.-A INPUT -m state --state RELATED,ESTABLISHED -j whitelist
11.-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j whitelist
12.-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j whitelist
13.-A INPUT -p icmp -j ACCEPT
14.-A INPUT -i lo -j ACCEPT
15.-A INPUT -j REJECT --reject-with icmp-host-prohibited
16.-A FORWARD -j REJECT --reject-with icmp-host-prohibited
17.COMMIT

6~8 行是添加白名单列表,可以是ip段或者单个ip地址
10~12行 注意的是“-j whitelist”而不是“-j ACCEPT”,前者将该端口访问权限限制在白名单内,后者为不限制

13行 任何ip地址都能ping通该主机,因为“-j ACCEPT”没有做相应限制

配置完毕后,运行命令重启防火墙使规则生效
#systemctl restart iptables.service

时间: 2024-10-15 14:03:47

centos 使用iptables封ip地址的方法的相关文章

apache封ip地址的方法

在配置文件里设置: 打开httpd.conf编辑,将下列block如下编辑: [代码] httpd.conf  代码如下 复制代码 <Directory /www> Order Deny,Allow Deny from 123.123.123.123 </Directory> 上面这代码的意思是不是   除了被禁止的 123.123.123.123  其他任何IP都可以访问/www目录的网站  代码如下 复制代码 <Directory "/var/www/html&

centOS7 下利用iptables配置IP地址白名单的方法_Linux

编辑iptables配置文件,将文件内容更改为如下,则具备了ip地址白名单功能 #vim /etc/sysconfig/iptables *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -N whitelist -A whitelist -s 1.2.3.0/24 -j ACCEPT -A whitelist -s 4.5.6.7 -j ACCEPT -A INPUT -m state --state

apache 封ip地址的实现方法

打开httpd.conf编辑,将下列block如下编辑:  代码如下 复制代码 <Directory "/var/www/html"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all Deny from 124.114.0. Deny from 124.115.0. </Directory> Apache中封IP的实现方法二: 在网站根目录下建立或

查找ip地址、查找本地IP、网络IP和对方IP地址的方法

查找本地IP地址针对的是在使用路由器或者交换机等局域网内的用户,最常见的是多人通过路由器共享上网,对于这种情况查找本地IP地址非常简单,首先进入桌面,从左下角的开始里找到运行,在运行对话框中输入cmd命令,然后再CMD命令框中输入 ipconfig /all 再按回车键即可超找到本地IP地址; 网络IP地址是指我们连接上互联网中的IP地址,这个IP地址在全球都是唯一的,IP地址也是由地方与区域决定的,也是用户所无法修改的,由网络商提供,相当于一个家庭的住址,查看网络IP地址的方法很简单,详情如下

Linux有问必答:如何为CentOS 7配置静态IP地址

Linux有问必答:如何为CentOS 7配置静态IP地址 问题:在CentOS 7上,我想要将我其中一个网络接口从DHCP改为静态IP地址配置,如何才能永久为CentOS或RHEL 7上的网络接口分配静态IP地址? 如果你想要为CentOS 7中的某个网络接口设置静态IP地址,有几种不同的方法,这取决于你是否想要使用网络管理器. 网络管理器(Network Manager)是一个动态网络的控制器与配置系统,它用于当网络设备可用时保持设备和连接开启并激活.默认情况下,CentOS/RHEL 7安

TCP Wrappers防火墙介绍与封锁IP地址的方法_服务器其它

Tcp_Wrappers是一个用来分析TCP/IP封包的软件,类似的IP封包软件还有iptables,linux默认都安装了此软件,作为一个安全的系统,Linux本身有两层安全防火墙,通过IP过滤机制的iptables实现第一层防护,iptables防火墙通过直观地监视系统的运行状况,阻挡网络中的一些恶意攻击,保护整个系统正常运行,免遭攻击和破坏.如果通过了第一层防护,那么下一层防护就是tcp_wrappers了,通过Tcp_Wrappers可以实现对系统中提供的某些服务的开放与关闭.允许和禁止

在SCO的一个网卡上面绑定多个IP地址的方法

ip地址 在SCO的一个网卡上面绑定多个IP地址的方法 在SCO Unix系统中多IP地址的设置是通过该网络接口的别名地址来实现的. 具体步骤如下:(举例为net0网卡的IP地址为192.168.1.2 掩码为255.255.255.0) 1.编辑/etc/tcp文件.vi /etc/tcp 2.找到包含网卡设备文件名net0的ifconfig命令行. 3.通过在命令行后添加ifconfig命令行来为该网卡设置其他的IP地址(即第二个IP地址.第三个IP地址--).若设置该网卡的第2个IP地址为

用ASP寻找到真实IP地址的方法

众所周知,得到IP地址的方法是 以下为引用的内容: <%=Request.ServerVariables("REMOTE_ADDR")%> 可如果客户使用的代理服务器,那么用这个方法得到了就是代理服务器的IP了,下面是穿透服务器得到真实IP的代码: 以下为引用的内容: function GetIp()dim realip,proxyrealip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")proxy

拨开迷雾 用ASP寻找到真实IP地址的方法

ip地址 众所周知,得到IP地址的方法是 <%=Request.ServerVariables("REMOTE_ADDR")%> 可如果客户使用的代理服务器,那么用这个方法得到了就是代理服务器的IP了,下面是穿透服务器得到真实IP的代码: function GetIp()dim realip,proxyrealip = Request.ServerVariables("HTTP_X_FORWARDED_FOR")proxy = Request.Serve