Linux 防火墙iptables 禁止某些 IP访问
linux防火墙规则路径
linux防火墙规则路径Linux防火墙规则路径一、概述Linux防火墙是保护计算机网络安全的重要组成部分,它可以通过配置防火墙规则来限制网络流量的进出,从而提高网络的安全性。
本文将介绍Linux防火墙规则的路径以及相关的配置方法。
二、防火墙规则路径Linux防火墙规则的路径通常位于/etc目录下的iptables或firewalld文件夹中,具体取决于使用的防火墙工具。
1. iptables工具Iptables是Linux上最常用的防火墙工具之一,其规则路径为/etc/sysconfig/iptables。
在该文件中,可以配置入站和出站规则,以及网络地址转换(NAT)规则等。
可以使用文本编辑器(如vi或nano)打开该文件进行配置。
2. firewalld工具Firewalld是CentOS 7及以上版本中默认的防火墙管理工具,其规则路径为/etc/firewalld。
在该文件夹中,有多个配置文件,如zones和services等。
zones文件夹中存放了不同区域(zone)的防火墙规则,而services文件夹中存放了各个服务的规则。
可以使用firewall-cmd命令或文本编辑器修改这些配置文件。
三、防火墙规则配置方法Linux防火墙规则的配置方法取决于所使用的防火墙工具。
1. iptables工具配置方法要配置iptables工具的防火墙规则,可以按照以下步骤进行操作:a. 打开终端窗口,使用root用户登录。
b. 进入/etc/sysconfig/iptables目录。
c. 使用文本编辑器打开iptables文件。
d. 在文件中添加所需的规则,如设置允许或禁止特定端口或IP地址等。
e. 保存文件并退出编辑器。
f. 重启iptables服务使配置生效。
2. firewalld工具配置方法要配置firewalld工具的防火墙规则,可以按照以下步骤进行操作:a. 打开终端窗口,使用root用户登录。
Linux下iptables屏蔽IP和端口号
Linux下iptables屏蔽IP和端⼝号封单个IP的命令:iptables -I INPUT -s 124.115.0.199 -j DROP封IP段的命令:iptables -I INPUT -s 124.115.0.0/16 -j DROP封整个段的命令:iptables -I INPUT -s 194.42.0.0/8 -j DROP封⼏个段的命令:iptables -I INPUT -s 61.37.80.0/24 -j DROP只封80端⼝:iptables -I INPUT -p tcp –dport 80 -s 124.115.0.0/24 -j DROP解封:iptables -F清空:iptables -D INPUT 数字列出 INPUT链所有的规则:iptables -L INPUT --line-numbers删除某条规则,其中5代表序号(序号可⽤上⾯的命令查看):iptables -D INPUT 5开放指定的端⼝:iptables -A INPUT -p tcp --dport 80 -j ACCEPT禁⽌指定的端⼝:iptables -A INPUT -p tcp --dport 80 -j DROP拒绝所有的端⼝:iptables -A INPUT -j DROP以上都是针对INPUT链的操作,即是外⾯来访问本机的⽅向,配置完之后需要保存,否则iptables 重启之后以上设置就失效service iptables saveiptables 对应的配置⽂件 /etc/sysconfig/iptables注意:iptables的规则匹配顺序上从上到下的,也就是说如果上下两条规则有冲突时,将会以上⾯的规则为准。
***************************************************************Linux中iptables设置详解⽆论如何,iptables是⼀个需要特别谨慎设置的东西,万⼀服务器不在你⾝边,很有可能导致⽆法SSH连接,这将是很认⼈头疼的事. 以下内容是为了防⽌这种情况发⽣⽽写的,如果SSH端⼝是22(这⾥不建议⽤默认端⼝最好改掉SSH端⼝).iptables -A INPUT -p tcp –dport 22 -j ACCEPTiptables -A OUTPUT -p tcp –sport 22 -j ACCEPT注意要/etc/rc.d/init.d/iptables save,以下每⼀步都最好执⾏⼀遍此语句,以下不再累述, 否则直接执⾏service iptables restart命令后, 刚才添加的将丢失.1.⾸先介绍⼀下指令和相关配置⽂件启动指令:service iptables start重启指令:service iptables restart关闭指令:service iptables stop然后是相关配置:/etc/sysconfig/iptables如何操作该配置呢?vim /etc/sysconfig/iptables2.下⾯介绍⼀些指令⽤法-A:指定链名-p:指定协议类型-d:指定⽬标地址–dport:指定⽬标端⼝(destination port ⽬的端⼝)–sport:指定源端⼝(source port 源端⼝)-j:指定动作类型3.全局DROP规则.iptables -P INPUT DROPiptables -P OUTPUT DROPiptables -P FORWARD DROP这个步骤是把所有不符合⾃⼰配置的规则ACCEPT的连接全部DROP掉,执⾏完以后如果咱SSH还没掉,那么谢天谢地,安全了,重启下iptables后继续下⾯的配置!4.可能有时候需要删除规则,使⽤指令完成的命令删除规则的⽅法:语法是: iptables -D chain rulenum [options]其中: chain 是链的意思,就是INPUT FORWARD 之类的rulenum 是规则的编号。
linux firewall 防火墙出入规则
Linux防火墙的出入规则主要通过iptables来实现。
以下是一些常见的Linux防火墙出入规则的示例:
入站规则:
1. 允许来自特定IP地址的连接:
```css
iptables -A INPUT -s <source_ip> -j ACCEPT
```
2. 允许来自特定端口的连接:
```css
iptables -A INPUT -p tcp --dport <port> -j ACCEPT
```
3. 禁止来自特定IP地址的连接:
```css
iptables -A INPUT -s <source_ip> -j DROP
```
出站规则:
1. 允许特定协议的出站连接:
```css
iptables -A OUTPUT -p <protocol> -j ACCEPT
```
2. 允许特定端口的出站连接:
```css
iptables -A OUTPUT -p tcp --sport <port> -j ACCEPT
```
3. 禁止特定协议的出站连接:
```css
iptables -A OUTPUT -p <protocol> -j DROP
```
以上规则可以通过相应的选项进行添加、修改和删除。
请注意,具
体的规则可能会根据您的需求和网络环境而有所不同。
在进行任何更改之前,建议先备份现有的iptables规则,并在更改规则后进行测试以确保其按预期工作。
linux设置防火墙规则-指定ip的访问权限
linux设置防⽕墙规则-指定ip的访问权限vim /etc/sysconfig/iptables可以把你当前的iptables规则放到/etc/sysconfig/iptables中,系统重启iptables时⾃动执⾏1、查看iptables -nvL --line-number-L 查看当前表的所有规则,默认查看的是filter表,如果要查看NAT表,可以加上-t NAT参数-n 不对ip地址进⾏反查,加上这个参数显⽰速度会快很多-v 输出详细信息,包含通过该规则的数据包数量,总字节数及相应的⽹络接⼝–-line-number 显⽰规则的序列号,这个参数在删除或修改规则时会⽤到2、添加添加规则有两个参数:-A和-I。
其中-A是添加到规则的末尾;-I可以插⼊到指定位置,没有指定位置的话默认插⼊到规则的⾸部。
添加⼀条规则到尾部:iptables -A INPUT -s 192.168.1.5 -j DROP再插⼊⼀条规则到第三⾏,将⾏数直接写到规则链的后⾯:iptables -I INPUT 3 -s 192.168.1.3 -j DROP3、删除删除⽤-D参数删除之前添加的规则(iptables -A INPUT -s 192.168.1.5 -j DROP):有时候要删除的规则太长,删除时要写⼀⼤串,既浪费时间⼜容易写错,这时我们可以先使⽤–line-number找出该条规则的⾏号,再通过⾏号删除规则。
删除第⼆⾏规则iptables -D INPUT 24、修改修改使⽤-R参数先看下当前规则:将第三条规则改为ACCEPT:iptables -R INPUT 3 -j ACCEPT5、永久⽣效service iptables save会将当前规则写⼊⽂件 /etc/sysconfig/iptables 中service iptables restart重启iptables。
iptables的用法
iptables的用法iptables是Linux系统中防火墙工具,用于配置、管理和过滤网络流量。
它可以用于设置各种规则,以控制网络传输,过滤入站和出站流量,并允许或拒绝特定的网络连接。
以下是iptables的常见用法:1. 查看当前的iptables规则:```iptables -L```2. 清除当前的iptables规则:```iptables -F```3. 允许特定IP地址的访问:```iptables -A INPUT -s <IP_ADDRESS> -j ACCEPT```4. 禁止特定IP地址的访问:```iptables -A INPUT -s <IP_ADDRESS> -j DROP```5. 允许特定端口的访问:```iptables -A INPUT -p tcp --dport <PORT_NUMBER> -j ACCEPT```6. 允许特定协议的访问:```iptables -A INPUT -p <PROTOCOL> -j ACCEPT```7. 配置端口转发:```iptables -t nat -A PREROUTING -p tcp --dport <SOURCE_PORT> -j DNAT --to-destination<DESTINATION_IP>:<DESTINATION_PORT>```8. 配置端口映射:```iptables -t nat -A POSTROUTING -p tcp -d <DESTINATION_IP> --dport<DESTINATION_PORT> -j SNAT --to-source <SOURCE_IP>```以上只是iptables的一些常见用法,它还提供了更多高级功能和选项,可以根据具体需求进行配置和使用。
使用Iptables限制内网访问某些网站
使用Iptables限制内网访问某些网站说明:RHEL5 Server(10.200.2.216)内核启用IP路由转发功能,默认网关指向10.200.49.254,PC-A(10.200.51.202)的默认网关指向10.200.2.216,在RHEL5 Server上通过Iptables限制内网用户访问某些网站。
Iptabels脚本如下:[root@RHEL5 iptables]# cat iptables.sh#!/bin/bash###################################iptables -t filter -Fiptables -I FORWARD -d -j DROPiptables -I FORWARD -d -j DROPiptables -P FORWARD ACCEPT/sbin/modprobe ip_conntrack_ftp/sbin/modprobe ip_nat_ftp/sbin/modprobe ip_tables/sbin/modprobe ip_conntrack/sbin/modprobe iptable_filter/sbin/modprobe iptable_mangle/sbin/modprobe iptable_nat/sbin/modprobe ipt_LOG/sbin/modprobe ipt_limit/sbin/modprobe ipt_state###################################iptables -t nat -Fecho "1" > /proc/sys/net/ipv4/ip_forward执行上述Iptables脚本之前通过tcpdump抓包情况如下:[root@RHEL5 iptables]# iptables -LChain INPUT (policy ACCEPT)target prot opt source destinationChain FORWARD (policy ACCEPT)target prot opt source destinationChain OUTPUT (policy ACCEPT)target prot opt source destination[root@RHEL5 iptables]# tcpdump host 10.200.51.202 and tcpdump: WARNING: peth0: no IPv4 address assignedtcpdump: verbose output suppressed, use -v or -vv for full protocol decodelistening on peth0, link-type EN10MB (Ethernet), capture size 96 bytes11:39:33.924695 IP bogon.2499 > 61.135.150.101.http: R 1891908261:1891908261(0) win 0 11:39:39.899241 IP bogon.2499 > 61.135.150.101.http: R 1891908261:1891908261(0) win 0 11:39:33.926437 IP bogon.spock > 61.135.150.101.http: . ack 837160346 win 6553511:39:33.926455 IP bogon.spock > 61.135.150.101.http: . ack 1 win 6553511:39:33.927586 IP bogon.spock > 61.135.150.101.http: . ack 365 win 6517211:39:33.927599 IP bogon.spock > 61.135.150.101.http: . ack 365 win 6517211:39:33.928334 IP bogon.facsys-ntp > 61.135.150.101.http: . ack 827826287 win 65535 11:39:33.928347 IP bogon.facsys-ntp > 61.135.150.101.http: . ack 1 win 6553511:39:33.929230 IP bogon.jdatastore > 61.135.150.101.http: . ack 836651119 win 65535 11:39:33.929243 IP bogon.jdatastore > 61.135.150.101.http: . ack 1 win 6553511:39:33.931603 IP bogon.jdatastore > 61.135.150.101.http: . ack 363 win 6517411:39:33.931615 IP bogon.jdatastore > 61.135.150.101.http: . ack 363 win 65174执行上述Iptables脚本之后通过tcpdump抓包情况如下:[root@RHEL5 ~]# iptables -LChain INPUT (policy ACCEPT)target prot opt source destinationChain FORWARD (policy ACCEPT)target prot opt source destinationDROP all -- anywhere DROP all -- anywhere 61.135.150.104DROP all -- anywhere 61.135.150.101DROP all -- anywhere 61.135.150.98DROP all -- anywhere 61.135.150.93DROP all -- anywhere 61.135.150.145DROP all -- anywhere 61.135.150.126DROP all -- anywhere 61.135.150.113DROP all -- anywhere 61.135.150.108Chain OUTPUT (policy ACCEPT)target prot opt source destination[root@RHEL5 ~]# tcpdump host 10.200.51.202 and tcpdump: WARNING: peth0: no IPv4 address assignedtcpdump: verbose output suppressed, use -v or -vv for full protocol decodelistening on peth0, link-type EN10MB (Ethernet), capture size 96 bytes11:50:30.810243 IP bogon.hl7 > 61.135.150.104.http: S 298939320:298939320(0) win 65535 <mss 1360,nop,nop,sackOK>11:50:33.721198 IP bogon.hl7 > 61.135.150.104.http: S 298939320:298939320(0) win 65535 <mss 1360,nop,nop,sackOK>11:50:39.756776 IP bogon.hl7 > 61.135.150.104.http: S 298939320:298939320(0) win 65535 <mss 1360,nop,nop,sackOK>11:50:51.733564 IP bogon.rvs-isdn-dcp > 61.135.150.108.http: S 2663940900:2663940900(0) win 65535 <mss 1360,nop,nop,sackOK>11:50:54.745177 IP bogon.rvs-isdn-dcp > 61.135.150.108.http: S 2663940900:2663940900(0) win 65535 <mss 1360,nop,nop,sackOK>11:51:00.780780 IP bogon.rvs-isdn-dcp > 61.135.150.108.http: S 2663940900:2663940900(0) win65535 <mss 1360,nop,nop,sackOK>11:51:12.757521 IP bogon.mpfoncl > 61.135.150.113.http: S 2746173429:2746173429(0) win 65535 <mss 1360,nop,nop,sackOK>11:51:15.769177 IP bogon.mpfoncl > 61.135.150.113.http: S 2746173429:2746173429(0) win 65535 <mss 1360,nop,nop,sackOK>11:51:21.804783 IP bogon.mpfoncl > 61.135.150.113.http: S 2746173429:2746173429(0) win 65535 <mss 1360,nop,nop,sackOK>11:51:33.782256 IP bogon.mon > 61.135.150.126.http: S 557986306:557986306(0) win 65535 <mss 1360,nop,nop,sackOK>11:51:36.793181 IP bogon.mon > 61.135.150.126.http: S 557986306:557986306(0) win 65535 <mss 1360,nop,nop,sackOK>11:51:42.728186 IP bogon.mon > 61.135.150.126.http: S 557986306:557986306(0) win 65535 <mss 1360,nop,nop,sackOK>注:Iptables脚本中若直接写网站域名(如:)的话,则系统要配置正确的DNS 解析(/etc/resolv.conf)。
使用Linux终端命令进行防火墙设置和管理
使用Linux终端命令进行防火墙设置和管理一、介绍Linux操作系统是一种广泛使用的操作系统,其安全性备受关注。
在Linux系统中,防火墙是保护计算机网络安全的重要组成部分。
本文将介绍如何使用Linux终端命令进行防火墙的设置和管理。
二、防火墙的基本概念防火墙是一种网络安全设备,用于设置规则和策略,限制进出计算机网络的流量。
它可以过滤网络数据包,防止恶意攻击和未经授权的访问。
在Linux系统中,防火墙通常使用iptables命令来实现。
三、iptables命令的基本用法1. 查询防火墙规则:使用iptables -L命令可以列出当前的防火墙规则。
例如,输入以下命令:```shelliptables -L```2. 添加防火墙规则:使用iptables -A命令可以添加一条新的防火墙规则。
例如,要允许来自特定IP地址的HTTP访问,可以输入以下命令:```shelliptables -A INPUT -s <IP地址> -p tcp --dport 80 -j ACCEPT```3. 删除防火墙规则:使用iptables -D命令可以删除特定的防火墙规则。
例如,要删除上述添加的防火墙规则,可以输入以下命令:```shelliptables -D INPUT -s <IP地址> -p tcp --dport 80 -j ACCEPT```4. 保存防火墙规则:使用iptables-save命令可以保存当前的防火墙规则。
例如,输入以下命令可以将当前的防火墙规则保存到/etc/iptables.rules文件中:```shelliptables-save > /etc/iptables.rules```5. 加载防火墙规则:使用iptables-restore命令可以加载之前保存的防火墙规则。
例如,输入以下命令可以从/etc/iptables.rules文件中加载防火墙规则:```shelliptables-restore < /etc/iptables.rules```四、常用防火墙配置示例1. 允许SSH访问:要允许SSH访问,可以使用以下命令:```shelliptables -A INPUT -p tcp --dport 22 -j ACCEPT```2. 允许HTTP和HTTPS访问:要允许HTTP和HTTPS访问,可以使用以下命令:```shelliptables -A INPUT -p tcp --dport 80 -j ACCEPTiptables -A INPUT -p tcp --dport 443 -j ACCEPT```3. 允许Ping请求:要允许Ping请求,可以使用以下命令:```shelliptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT```4. 阻止特定IP地址的访问:要阻止特定IP地址的访问,可以使用以下命令:```shelliptables -A INPUT -s <IP地址> -j DROP```五、注意事项1. 防火墙规则的顺序很重要,应该根据需要正确设置规则的顺序。
iptables防火墙只允许指定ip连接指定端口访问指定网站
iptables防⽕墙只允许指定ip连接指定端⼝访问指定⽹站IPTABLES 是与最新的 3.5 版本 Linux 内核集成的 IP 信息包过滤系统。
如果 Linux 系统连接到因特⽹或 LAN、服务器或连接 LAN 和因特⽹的代理服务器,则该系统有利于在 Linux 系统上更好地控制 IP 信息包过滤和防⽕墙配置。
需要开80端⼝,指定IP和局域⽹.下⾯三⾏的意思:先关闭所有的80端⼝开启ip段192.168.1.0/24端的80⼝开启ip段211.123.16.123/24端ip段的80⼝# iptables -I INPUT -p tcp --dport 80 -j DROP# iptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 80 -j ACCEPT# iptables -I INPUT -s 211.123.16.123/24 -p tcp --dport 80 -j ACCEPT以上是临时设置。
1.先备份iptables# cp /etc/sysconfig/iptables /var/tmp2.然后保存iptables# service iptables save3.重启防⽕墙#service iptables restart以下是端⼝,先全部封再开某些的IPiptables -I INPUT -p tcp --dport 9889 -j DROPiptables -I INPUT -s 192.168.1.0/24 -p tcp --dport 9889 -j ACCEPT如果⽤了NAT转发记得配合以下才能⽣效iptables -I FORWARD -p tcp --dport 80 -j DROPiptables -I FORWARD -s 192.168.1.0/24 -p tcp --dport 80 -j ACCEPT常⽤的IPTABLES规则如下:只能收发邮件,别的都关闭iptables -I Filter -m mac --mac-source 00:0F:EA:25:51:37 -j DROPiptables -I Filter -m mac --mac-source 00:0F:EA:25:51:37 -p udp --dport 53 -j ACCEPTiptables -I Filter -m mac --mac-source 00:0F:EA:25:51:37 -p tcp --dport 25 -j ACCEPTiptables -I Filter -m mac --mac-source 00:0F:EA:25:51:37 -p tcp --dport 110 -j ACCEPTIPSEC NAT 策略iptables -I PFWanPriv -d 192.168.100.2 -j ACCEPTiptables -t nat -A PREROUTING -p tcp --dport 80 -d $INTERNET_ADDR -j DNAT --to-destination 192.168.100.2:80iptables -t nat -A PREROUTING -p tcp --dport 1723 -d $INTERNET_ADDR -j DNAT --to-destination 192.168.100.2:1723iptables -t nat -A PREROUTING -p udp --dport 1723 -d $INTERNET_ADDR -j DNAT --to-destination 192.168.100.2:1723iptables -t nat -A PREROUTING -p udp --dport 500 -d $INTERNET_ADDR -j DNAT --to-destination 192.168.100.2:500iptables -t nat -A PREROUTING -p udp --dport 4500 -d $INTERNET_ADDR -j DNAT --to-destination 192.168.100.2:4500FTP服务器的NATiptables -I PFWanPriv -p tcp --dport 21 -d 192.168.100.200 -j ACCEPTiptables -t nat -A PREROUTING -p tcp --dport 21 -d $INTERNET_ADDR -j DNAT --to-destination 192.168.100.200:21只允许访问指定⽹址iptables -A Filter -p udp --dport 53 -j ACCEPTiptables -A Filter -p tcp --dport 53 -j ACCEPTiptables -A Filter -d -j ACCEPTiptables -A Filter -d -j ACCEPTiptables -A Filter -j DROP开放⼀个IP的⼀些端⼝,其它都封闭iptables -A Filter -p tcp --dport 80 -s 192.168.100.200 -d -j ACCEPTiptables -A Filter -p tcp --dport 25 -s 192.168.100.200 -j ACCEPTiptables -A Filter -p tcp --dport 109 -s 192.168.100.200 -j ACCEPTiptables -A Filter -p tcp --dport 110 -s 192.168.100.200 -j ACCEPTiptables -A Filter -p tcp --dport 53 -j ACCEPTiptables -A Filter -p udp --dport 53 -j ACCEPTiptables -A Filter -j DROP多个端⼝iptables -A Filter -p tcp -m multiport --destination-port 22,53,80,110 -s 192.168.20.3 -j REJECT连续端⼝iptables -A Filter -p tcp -m multiport --source-port 22,53,80,110 -s 192.168.20.3 -j REJECT iptables -A Filter -p tcp --source-port 2:80 -s 192.168.20.3 -j REJECT指定时间上⽹iptables -A Filter -s 10.10.10.253 -m time --timestart 6:00 --timestop 11:00 --days Mon,Tue,Wed,Thu,Fri,Sat,Sun -j DROPiptables -A Filter -m time --timestart 12:00 --timestop 13:00 --days Mon,Tue,Wed,Thu,Fri,Sat,Sun -j ACCEPTiptables -A Filter -m time --timestart 17:30 --timestop 8:30 --days Mon,Tue,Wed,Thu,Fri,Sat,Sun -j ACCEPT禁⽌多个端⼝服务iptables -A Filter -m multiport -p tcp --dport 21,23,80 -j ACCEPT将WAN ⼝NAT到PCiptables -t nat -A PREROUTING -i $INTERNET_IF -d $INTERNET_ADDR -j DNAT --to-destination 192.168.0.1将WAN⼝8000端⼝NAT到192。
linux防火墙删除规则
linux防火墙删除规则Linux防火墙删除规则随着互联网的不断发展,网络安全问题日益突出,Linux防火墙成为了许多企业和个人保护网络安全的首选工具。
但是,在使用Linux防火墙的过程中,我们难免会遇到需要删除已设置的规则的情况。
本文将从不同类型的规则入手,为大家介绍如何删除Linux防火墙规则。
1. IP规则IP规则是指针对IP地址的过滤规则,通常用于限制某些IP地址的访问。
我们可以使用iptables命令来删除已设置的IP规则。
首先,我们需要查看已设置的IP规则。
可以使用以下命令:iptables -L -n --line-numbers该命令将列出所有已设置的规则,包括规则编号、匹配条件、目标动作等信息。
我们需要找到要删除的规则的编号,然后使用以下命令删除该规则:iptables -D INPUT <规则编号>其中,INPUT表示需要删除的规则所属的链,<规则编号>表示需要删除的规则的编号。
2. 端口规则端口规则是指针对端口的过滤规则,通常用于限制某些端口的访问。
同样,我们可以使用iptables命令来删除已设置的端口规则。
首先,我们需要查看已设置的端口规则。
可以使用以下命令:iptables -L -n --line-numbers该命令将列出所有已设置的规则,包括规则编号、匹配条件、目标动作等信息。
我们需要找到要删除的规则的编号,然后使用以下命令删除该规则:iptables -D INPUT <规则编号>其中,INPUT表示需要删除的规则所属的链,<规则编号>表示需要删除的规则的编号。
3. 应用规则应用规则是指针对应用程序的过滤规则,通常用于限制某些应用程序的访问。
我们可以使用iptables命令来删除已设置的应用规则。
首先,我们需要查看已设置的应用规则。
可以使用以下命令:iptables -L -n --line-numbers该命令将列出所有已设置的规则,包括规则编号、匹配条件、目标动作等信息。
Linuxiptables设置允许(禁止)IP范围
Linuxiptables设置允许(禁止)IP范围假设有一个情况,我们要将某一个网段内的IP“一段IP”封锁起来,如192.168.0.2-192.168.0.61,请问该如何来设定这个规则?因为这个网段并没有符合任何一个CIDR网段,因此我们不能使用如“-s 192.168.0.0/28”的网段来匹配这个范围,难道真的要一行一行写吗?其实不用,早期的做法是将192.168.0.0/24切成多个小网段,再去匹配哪一个小网段与被封锁的区段比较接近,然后再将遗漏的部分补足。
上边例子中的IP段中IP的数量为59个,其中最接近的方法是我们将192.168.0.0/24切成四个段,每个网段所含的IP数量为64个。
我们可以写规则如下:iptables -A INPUT -p all -s 192.168.0.0/26 -j DROP不过这样会有几个IP会遭到我们的错杀,可以更改写法如下:iptables -A INPUT -p all -s 192.168.0.1 -j ACCEPTiptables -A INPUT -p all -s 192.168.0.2 -j ACCEPTiptables -A INPUT -p all -s 192.168.0.61 -j ACCEPTiptables -A INPUT -p all -s 192.168.0.62 -j ACCEPTiptables -A INPUT -p all -s 192.168.0.0/26 -j DROP 通过网段划分,我们可以将原本需要写50行的规则以短短的5行来取代,但计算过程真的很麻烦;不过有了ipt_iprange.ko模块,我们可以将上边的规则改写为:iptables -A INPUT -m iprange --src-range 192.168.0.2-192.168.0.61 -j DROPiprange模块提供了两个匹配参数:--src-range: 匹配来源地址的范围,例如,iptables -A INPUT -m iprange --src-range 192.168.0.2-192.168.0.61 -j DROP --dst-range: 匹配目的地址的范围,例如,iptables -A OUTPUT -m iprange --dst-range 192.168.0.2-192.168.0.61 -j DROP。
linux系统防火墙常用命令
linux系统防火墙常用命令Linux系统防火墙常用命令Linux系统中的防火墙是网络安全的重要组成部分,它能够保护计算机免受来自网络的攻击和恶意访问。
为了管理和配置防火墙,我们需要掌握一些常用的命令。
本文将介绍一些常用的Linux防火墙命令,并详细解释它们的用法和作用。
1. iptables命令iptables是Linux系统中最常用的防火墙管理命令。
它可以用于配置防火墙规则、过滤网络数据包和网络地址转换等操作。
下面是一些常用的iptables命令:- iptables -L:列出当前防火墙规则;- iptables -F:清空当前防火墙规则;- iptables -A INPUT -p tcp --dport 22 -j ACCEPT:允许来自任意IP地址的TCP协议、目标端口为22的数据包通过防火墙;- iptables -A INPUT -s 192.168.0.0/24 -j DROP:禁止来自IP 地址段为192.168.0.0/24的数据包通过防火墙。
2. ufw命令ufw是Uncomplicated Firewall的简称,它是基于iptables的防火墙管理工具,提供了更简单的命令和配置方式。
下面是一些常用的ufw命令:- ufw status:显示当前防火墙的状态和规则;- ufw enable:启用防火墙;- ufw disable:禁用防火墙;- ufw allow 22:允许TCP协议、目标端口为22的数据包通过防火墙;- ufw deny from 192.168.0.0/24 to any port 80:禁止来自IP 地址段为192.168.0.0/24、目标端口为80的数据包通过防火墙。
3. firewalld命令firewalld是CentOS 7及以上版本中默认的防火墙管理工具,它支持动态更新防火墙规则,并提供了更灵活的配置选项。
下面是一些常用的firewalld命令:- firewall-cmd --state:显示当前防火墙的状态;- firewall-cmd --get-active-zones:显示当前活动的防火墙区域; - firewall-cmd --zone=public --add-service=http:将http 服务添加到public区域;- firewall-cmd --zone=public --remove-service=http:从public区域移除http服务;- firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.0.0/24" reject':拒绝来自IP地址段为192.168.0.0/24的IPv4数据包。
如何设置IP地址的访问限制和权限控制的方法
如何设置IP地址的访问限制和权限控制的方法在当今信息技术高速发展的时代,网络安全成为了一个重要的话题。
为了保护服务器和网络资源的安全,限制和控制IP地址的访问权限变得越来越重要。
本文将介绍如何设置IP地址的访问限制和权限控制的方法,以帮助您建立一个更安全的网络环境。
一、设置IP地址的访问限制1. 确定所需限制的IP地址范围首先,您需要明确需要限制的IP地址范围。
通过分析和了解您的网络环境,确定需要限制访问的IP地址范围,可以是一个特定的IP地址,也可以是一个IP地址段。
2. 使用防火墙设置规则防火墙是保护网络安全的重要组成部分,它可以监控和控制网络流量。
通过配置防火墙规则,您可以实现对指定IP地址的访问限制。
对于基于Linux系统的服务器,您可以使用iptables命令来设置防火墙规则。
例如,如果您想要限制IP地址为192.168.1.100的主机对服务器的访问,可以使用以下命令:```iptables -A INPUT -s 192.168.1.100 -j DROP```这样就禁止了来自该IP地址的访问。
3. 使用访问控制列表(ACL)访问控制列表(ACL)是一种用于控制网络流量的机制。
通过配置ACL规则,您可以根据源IP地址或目标IP地址来限制网络访问。
对于路由器或交换机等网络设备,您可以使用ACL来设置IP地址的访问限制。
例如,如果您使用Cisco设备,可以使用以下命令配置ACL规则:```access-list 1 deny host 192.168.1.100```这样就拒绝了来自IP地址为192.168.1.100的主机的访问。
二、设置IP地址的权限控制1. 新建用户账户权限控制通常需要通过用户身份来实现。
您可以根据需要,为不同的用户创建不同的账户,并分配相应的权限。
这样,您可以根据用户的身份来控制其对IP地址的访问权限。
2. 配置访问权限一旦创建了用户账户,您可以通过配置访问权限来实现对IP地址的权限控制。
linux防火墙iptables常用规则(屏蔽IP地址、禁用ping、协议设置、NAT与转发、负载平衡、自定义链)
linux防火墙iptables常用规则(屏蔽IP地址、禁用ping、协议设置、NAT与转发、负载平衡、自定义链)一、iptables:从这里开始删除现有规则iptables -F(OR)iptables --flush设置默认链策略iptables的filter表中有三种链:INPUT, FORWARD和OUTPUT。
默认的链策略是ACCEPT,你可以将它们设置成DROP。
iptables -P INPUT DROPiptables -P FORWARD DROPiptables -P OUTPUT DROP你需要明白,这样做会屏蔽所有输入、输出网卡的数据包,除非你明确指定哪些数据包可以通过网卡。
屏蔽指定的IP地址以下规则将屏蔽BLOCK_THIS_IP所指定的IP地址访问本地主机:BLOCK_THIS_IP="x.x.x.x"iptables -A INPUT -i eth0 -s "$BLOCK_THIS_IP" -j DROP (或者仅屏蔽来自该IP的TCP数据包)iptables -A INPUT -i eth0 -p tcp -s "$BLOCK_THIS_IP" -j DROP允许来自外部的ping测试iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPTiptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT允许从本机ping外部主机iptables -A OUTPUT -p icmp --icmp-type echo-request -jACCEPTiptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT允许环回(loopback)访问iptables -A INPUT -i lo -j ACCEPTiptables -A OUTPUT -o lo -j ACCEPT二、iptables:协议与端口设定允许所有SSH连接请求本规则允许所有来自外部的SSH连接请求,也就是说,只允许进入eth0接口,并且目的端口为22的数据包iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPTiptables -A OUTPUT -o eth0 -p tcp --sport 22 -m state--state ESTABLISHED -j ACCEPT允许从本地发起的SSH连接本规则和上述规则有所不同,本规则意在允许本机发起SSH 连接,上面的规则与此正好相反。
iptables防火墙设置演示 03(禁止某个ip访问)
192.168.1.2 这是 xp1 可以访问的,
192.168.1.8 xp2 也是可以正常访问的。
那么现在我要禁止 192.168.1.2 xp1 访问, xp2 正常访问,
很多时候我们出于安全的角度需要禁止某个ip访问本服务器,或者只能接受某个ip访问。
例如发现服务器受到某个ip攻击,就可以拒绝该ip的访问。
还有就是我这台服务器里面很多保密资料,不允许任何ip访问,就只允许给某一个ip可以访问。
这个用Linux自带防火墙iptables实现起来都是相当方便的。
ip来源于 192.168.1.2 ,-j 怎么做 我们拒绝它 这里应该是 DROP
好,看看效果。好添加成功。下面进行验证 一下是否生效
一直出现等待状态 最后 该页无法显示 ,这是 192.168.1.2 xp1 的访问被拒绝了。
再看看另外一台 xp 是否可以访问, 是可以正常访问的 192.168.1.8 是可以正常访问的
下面看看演示
通过命令 iptables -A INPUT -p tcp -s 192.168.1.2 -j DROP
这里意思就是 -A 就是添加新的规则, 怎样的规则呢? 由于我们访问网站使用tcp的,
我们就用 -p tcp , 如果是 udp 就写udp,这里就用tcp了, -s就是 来源的意思,
1. 首先第一种情况 禁止某个ip访问我的网站
看看我的iptables设置先,iptables -L -n 通过这个命令看到,我是全部ACCEPT 的
就是任何ip地址都可以访问我的Linux服务器
我是这样实验的,1台Linux服务器,2台windows xp 操作系统进行访问
iptables配置语句
iptables配置语句1. 配置iptables防火墙的命令如下:```iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT```这条命令的作用是允许来自192.168.1.0/24网段的主机通过SSH 连接到本机的22端口。
2. 另一个常见的配置是限制特定IP地址的访问:```iptables -A INPUT -s 192.168.1.100 -j DROP```这条命令会阻止IP地址为192.168.1.100的主机访问本机的任何服务。
3. 如果想要允许特定IP地址范围的访问,可以使用以下命令:```iptables -A INPUT -m iprange --src-range 192.168.1.100-192.168.1.200 -j ACCEPT```这条命令允许来自192.168.1.100到192.168.1.200之间的主机访问本机。
4. 如果想要禁止特定端口的访问,可以使用以下命令:```iptables -A INPUT -p tcp --dport 80 -j DROP```这条命令会阻止任何主机访问本机的80端口,即禁止HTTP访问。
5. 另一种常见的配置是允许本机访问外部服务:```iptables -A OUTPUT -d 8.8.8.8 -p udp --dport 53 -j ACCEPT```这条命令允许本机访问Google Public DNS服务器的53端口,用于DNS解析。
6. 如果想要配置端口转发,可以使用以下命令:```iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080```这条命令会将来自80端口的TCP流量重定向到本机的8080端口。
7. 如果想要配置防火墙日志,可以使用以下命令:```iptables -A INPUT -j LOG --log-prefix "Firewall: "```这条命令会将所有进入本机的流量打上前缀为"Firewall: "的日志。
详解Linux防火墙iptables禁IP与解封IP常用命令
详解Linux防⽕墙iptables禁IP与解封IP常⽤命令在Linux服务器被攻击的时候,有的时候会有⼏个主⼒IP。
如果能拒绝掉这⼏个IP的攻击的话,会⼤⼤减轻服务器的压⼒,说不定服务器就能恢复正常了。
在Linux下封停IP,有封杀⽹段和封杀单个IP两种形式。
⼀般来说,现在的攻击者不会使⽤⼀个⽹段的IP来攻击(太招摇了),IP⼀般都是散列的。
于是下⾯就详细说明⼀下封杀单个IP的命令,和解封单个IP的命令。
Linux防⽕墙:iptables禁IP与解封IP常⽤命令在Linux下,使⽤ipteables来维护IP规则表。
要封停或者是解封IP,其实就是在IP规则表中对⼊站部分的规则进⾏添加操作。
要封停⼀个IP,使⽤下⾯这条命令:iptables -I INPUT -s ***.***.***.*** -j DROP要解封⼀个IP,使⽤下⾯这条命令:iptables -D INPUT -s ***.***.***.*** -j DROP参数-I是表⽰Insert(添加),-D表⽰Delete(删除)。
后⾯跟的是规则,INPUT表⽰⼊站,***.***.***.***表⽰要封停的IP,DROP表⽰放弃连接。
此外,还可以使⽤下⾯的命令来查看当前的IP规则表:iptables -list⽐如现在要将123.44.55.66这个IP封杀,就输⼊:iptables -I INPUT -s 123.44.55.66 -j DROP要解封则将-I换成-D即可,前提是iptables已经有这条记录。
如果要想清空封掉的IP地址,可以输⼊:iptables -flush要添加IP段到封停列表中,使⽤下⾯的命令:iptables -I INPUT -s 121.0.0.0/8 -j DROP其实也就是将单个IP封停的IP部分换成了Linux的IP段表达式。
关于IP段表达式⽹上有很多详细解说的,这⾥就不提了。
相信有了iptables的帮助,解决⼩的DDoS之类的攻击也不在话下!附:其他常⽤的命令编辑 iptables ⽂件vi /etc/sysconfig/iptables关闭/开启/重启防⽕墙/etc/init.d/iptables stop#start 开启#restart 重启验证⼀下是否规则都已经⽣效:iptables -L保存并重启iptables/etc/rc.d/init.d/iptables saveservice iptables restartlinux下实⽤iptables封ip段的⼀些常见命令:封单个IP的命令是:iptables -I INPUT -s 211.1.0.0 -j DROP封IP段的命令是:iptables -I INPUT -s 211.2.0.0/16 -j DROPiptables -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 DROPiptables -I INPUT -s 61.37.81.0/24 -j DROP想在服务器启动⾃运⾏的话有三个⽅法:1、把它加到/etc/rc.local中2、iptables-save >;/etc/sysconfig/iptables可以把你当前的iptables规则放到/etc/sysconfig/iptables中,系统启动iptables时⾃动执⾏。
iptables 拒绝规则
iptables 拒绝规则
iptables是一种Linux防火墙,可用于配置网络规则以防止未经授权的访问。
拒绝规则是 iptables 中最基本的规则之一,它指定了哪些流量应该被拒绝。
iptables 的拒绝规则通常使用以下参数:
- -s:指定源 IP 地址或地址段;
- -d:指定目标 IP 地址或地址段;
- -p:指定协议类型,如 TCP 或 UDP;
- --dport:指定目标端口;
- -j:指定动作,如 DROP 或 REJECT。
以下是一些常见的 iptables 拒绝规则示例:
1. 拒绝来自特定 IP 地址的所有传入流量:
iptables -A INPUT -s 192.168.1.100 -j DROP
2. 拒绝来自特定 IP 地址的特定端口的传入流量:
iptables -A INPUT -s 192.168.1.100 --dport 22 -j DROP 3. 拒绝来自特定 IP 地址段的所有传入流量:
iptables -A INPUT -s 192.168.1.0/24 -j DROP
4. 拒绝所有传入 ICMP 流量:
iptables -A INPUT -p icmp -j DROP
5. 拒绝所有传入 TCP 流量:
iptables -A INPUT -p tcp -j DROP
6. 拒绝来自特定 IP 地址的所有传出流量:
iptables -A OUTPUT -d 192.168.1.100 -j DROP
需要注意的是,如果某些规则不合适,可能会导致网络中断或其他问题。
因此,在设置 iptables 规则时,请确保你知道你在做什么,并始终备份你的规则集。
Linux命令高级技巧使用iptables进行流量控制和限制
Linux命令高级技巧使用iptables进行流量控制和限制Linux命令高级技巧:使用iptables进行流量控制和限制在Linux操作系统中,iptables是一种用于管理网络数据包的工具。
它提供了一种有效的方法来控制和限制网络流量,以保护网络安全和提高网络性能。
本文将介绍如何使用iptables进行流量控制和限制的高级技巧。
1. 什么是iptables?iptables是Linux系统中的一个防火墙工具,它可以在网络层面上控制入站和出站的数据包。
使用iptables,我们可以定义各种规则和策略来过滤、重定向和修改数据包,从而实现对网络流量的控制和限制。
2. 安装和基本配置在开始使用iptables之前,我们需要先安装并配置它。
大多数Linux系统中,iptables已经预先安装好了,通过以下命令可以检查它是否已经安装:```shelliptables --version```如果显示了版本信息,则说明iptables已经安装了。
如果没有安装,可以通过包管理器来安装它,如以下命令:```shellsudo apt-get install iptables```安装完成后,我们可以开始配置iptables。
iptables的配置文件位于`/etc/sysconfig/iptables`(Red Hat系列发行版)或者`/etc/iptables/iptables.rules`(Debian系列发行版)。
可以使用文本编辑器打开配置文件,并根据需要添加或修改规则。
每个规则由一个或多个规则链组成,如输入链(INPUT)、输出链(OUTPUT)和转发链(FORWARD),每个链又由多个规则构成。
3. 流量控制规则使用iptables进行流量控制和限制最常见的场景就是针对特定的IP地址、端口或协议进行限制。
以下是一些常用的流量控制规则的示例:- 允许特定IP地址的访问:```shelliptables -A INPUT -s 192.168.1.100 -j ACCEPT```这个规则允许IP地址为192.168.1.100的主机访问本机。
添加ip黑名单规则
添加ip黑名单规则添加IP黑名单规则的方式主要取决于使用的工具或服务。
在Linux操作系统中,可以通过`iptables`命令来添加规则,以将某个IP地址加入黑名单,使得该IP地址无法访问目标主机。
以下是详细的步骤:1. 打开终端。
2. 输入以下命令来添加黑名单规则,其中“[IP地址]”替换为你要加入黑名单的具体IP地址:```bashiptables -A INPUT -s [IP地址] -j DROP```这条命令将添加一条规则,将来自指定IP地址的所有数据包丢弃。
3. 输入以下命令来保存新的规则,以便下次启动时自动加载:```bashservice iptables save```在某些web应用防火墙(WAF)中,也可以通过图形界面来添加IP黑名单规则。
以下是在WAF中添加IP黑名单的步骤:1. 打开WAF的管理界面。
2. 在左侧导航树中,选择“网站设置”。
3. 在“网站设置”页面中,找到目标域名所在行的“防护策略”栏。
4. 单击“已开启N项防护”,进入“防护策略”页面。
5. 在“黑白名单设置”配置框中,根据需要更改“状态”。
6. 单击“自定义黑白名单设置规则”,进入黑白名单设置规则页面。
7. 在“黑白名单”页面左上角,单击“添加规则”。
8. 在弹出的对话框中,添加黑白名单规则,将IP配置为仅记录后,来自该IP的访问将被阻止。
9. 输入完成后,单击“确认”,添加的黑白名单将展示在黑白名单规则列表中。
规则添加成功后,默认的“规则状态”为“已开启”,若暂时不想使该规则生效,可在目标规则所在行的“操作”列,单击“关闭”。
请注意,具体的操作步骤可能会因所使用的工具或服务的不同而有所差异。
如果在使用过程中遇到问题,建议查阅相关的文档或联系技术支持获取帮助。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Linux 防火墙iptables 禁止某些 IP 访问
编辑:phper 来源:转载
在Linux下,使用ipteables来维护IP规则表。
要封停或者是解封IP,其实就是在IP规则表中对入站部分的规则进行添加操作。
方法一,过滤一些IP访问本服务器
要封停一个IP,使用下面这条命令:
代码如下复制代码iptables -I INPUT -s ***.***.***.*** -j DROP
要解封一个IP,使用下面这条命令:
代码如下复制代码iptables -D INPUT -s ***.***.***.*** -j DROP
参数-I是表示Insert(添加),-D表示Delete(删除)。
后面跟的是规则,INPUT 表示入站,***.***.***.***表示要封停的IP,DROP表示放弃连接。
此外,还可以使用下面的命令来查看当前的IP规则表:
代码如下复制代码iptables -list
比如现在要将123.44.55.66这个IP封杀,就输入:
代码如下复制代码iptables -I INPUT -s 123.44.55.66 -j DROP
要解封则将-I换成-D即可,前提是iptables已经有这条记录。
如果要想清空封掉的IP地址,可以输入:
代码如下复制代码iptables -flush
要添加IP段到封停列表中使用下面的命令:
代码如下复制代码iptables -I INPUT -s 121.0.0.0/8 -j DROP
其实也就是将单个IP封停的IP部分换成了Linux的IP段表达式。
关于IP段表达式网上有很多详细解说的,这里就不提了。
方法二,使用脚本来进行屏蔽
1.先下载ip地址文件
我们先到IPdeny下载以国家代码编制好的ip地址列表,比如下载cn.zone:
wget /ipblocks/data/countries/cn.zone
现在有了国家的所有IP地址,要想屏蔽这些IP 就很容易了,直接写个脚本逐行读取cn.zone文件并加入到iptables中:
iptables屏蔽某个国家ip段
代码如下复制代码#!/bin/bash
# Block traffic from a specific country
# written by
COUNTRY = "cn"
IPTABLES = /sbin/iptables
EGREP = /bin/egrep
if [ "$(id -u)" != "0" ]; then
echo "you must be root" 1>&2
exit 1
fi
resetrules() {
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -t mangle -F
$IPTABLES -X
}
resetrules
for c in $COUNTRY
do
country_file = $c.zone
IPS = $($EGREP -v "^#|^$" $country_file)
for ip in $IPS
do
echo "blocking $ip"
$IPTABLES -A INPUT -s $ip -j DROP
done
done
exit 0
方法三,上面两个实例都可以但都不简明,下面我来介绍一下
在iptables中,添加两个常用的IP段,其他网段的数据包都DROP了,而不是REJECT(REJECT还要发送ICMP回应包给连接方)。
代码如下复制代码
# iptables -A INPUT -p tcp --dport 22 -s 120.0.0.0/8 -j ACCEPT
# iptables -A INPUT -p tcp --dport 22 -s 183.0.0.0/8 -j ACCEPT
# iptables -A INPUT -p tcp --dport 22 -j DROP
测试:
在另外一个机子连接这个VPS,数据包被成功DROP了。
代码如下复制代码root@293621:~# iptables -vL
Chain INPUT (policy ACCEPT 36 packets, 6257 bytes)
pkts bytes target prot opt in out source destination
222 16280 ACCEPT tcp -- any any 120.0.0.0/8 anywhere tcp dpt:ssh 0 0 ACCEPT tcp -- any any 183.0.0.0/8 anywhere tcp dpt:ssh
4 240 DROP tcp -- any any anywhere anywhere tcp dpt:ssh。