Total Pageviews

Sunday, 10 September 2017

iptables开启端口的命令,屏蔽/解封IP的命令

开启端口的命令
# 开启22端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#开启80端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
#开启443端口
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
根据需要开启放行,然后保存和重启生效。

屏蔽/解封IP的命令
#屏蔽单个IP
iptables -I INPUT -s xxx.xxx.xxx.xxx -j DROP
#解封单个IP
iptables -D INPUT -s xxx.xxx.xxx.xxx -j DROP
总结,以上简单记录iptables规则的使用,以后再补充。比如我们常用的CentOS6.x与CentOS7.x稍微是有区别的,后者采用systemctl来管理程序和服务.
----------------------

开启ssh端口22 iptables -A INPUT -p tcp –dport 22 -j ACCEPT
#开启FTP端口21 iptables -A INPUT -p tcp –dport 21 -j ACCEPT
#开启web服务端口80 iptables -A INPUT -p tcp –dport 80 -j ACCEPT
#tomcat iptables -A INPUT -p tcp –dport 8080 -j ACCEPT
#mysql iptables -A INPUT -p tcp –dport xxxx -j ACCEPT
#允许icmp包通过,也就是允许ping iptables -A INPUT -p icmp -m icmp –icmp-type 8 -j ACCEPT
#允许所有对外请求的返回包 #本机对外请求相当于OUTPUT,对于返回数据包必须接收啊,这相当于INPUT了 iptables -A INPUT -m state –state ESTABLISHED -j ACCEPT
#如果要添加内网ip信任(接受其所有TCP请求) iptables -A INPUT -p tcp -s 45.96.174.68 -j ACCEPT
#每秒中最多允许5个新连接 iptables -A FORWARD -p tcp –syn -m limit –limit 1/s –limit-burst 5 -j ACCEPT
#每秒中最多允许5个新连接 iptables -A FORWARD -p tcp –tcp-flags SYN,ACK,FIN,RST RST -m limit –limit 1/s -j ACCEPT
#Ping洪水攻击 iptables -A FORWARD -p icmp –icmp-type echo-request -m limit –limit 1/s -j ACCEPT
#封单个IP的命令是: iptables -I INPUT -s 222.34.135.106 -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 -P INPUT DROP 保存重启
service iptables save service iptables restart 删除规则用-D参数
删除之前添加的规则(iptables -A INPUT -p tcp -m tcp –dport 8080 -j ACCEPT)
iptables -D INPUT -p tcp -m tcp –dport 8080 -j ACCEPT
CentOS7默认的防火墙不是iptables,而是firewalle.
安装iptable iptable-service
复制代码 #先检查是否安装了iptables service iptables status #安装iptables yum install -y iptables #升级iptables yum update iptables #安装iptables-services yum install iptables-services 禁用/停止自带的firewalld服务
#停止firewalld服务 systemctl stop firewalld #禁用firewalld服务 systemctl mask firewalld 设置现有规则
#查看iptables现有规则 iptables -L -n #先允许所有,不然有可能会杯具 iptables -P INPUT ACCEPT #清空所有默认规则 iptables -F #清空所有自定义规则 iptables -X #所有计数器归0 iptables -Z #允许来自于lo接口的数据包(本地访问) iptables -A INPUT -i lo -j ACCEPT #开放22端口 iptables -A INPUT -p tcp –dport 22 -j ACCEPT #开放21端口(FTP) iptables -A INPUT -p tcp –dport 21 -j ACCEPT #开放80端口(HTTP) iptables -A INPUT -p tcp –dport 80 -j ACCEPT #开放443端口(HTTPS) iptables -A INPUT -p tcp –dport 443 -j ACCEPT #允许ping iptables -A INPUT -p icmp –icmp-type 8 -j ACCEPT #允许接受本机请求之后的返回数据 RELATED,是为FTP设置的 iptables -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT #其他入站一律丢弃 iptables -P INPUT DROP #所有出站一律绿灯 iptables -P OUTPUT ACCEPT #所有转发一律丢弃 iptables -P FORWARD DROP 其他规则设定
#如果要添加内网ip信任(接受其所有TCP请求) iptables -A INPUT -p tcp -s 45.96.174.68 -j ACCEPT #过滤所有非以上规则的请求 iptables -P INPUT DROP #要封停一个IP,使用下面这条命令: iptables -I INPUT -s ... -j DROP #要解封一个IP,使用下面这条命令: iptables -D INPUT -s ... -j DROP 复制代码 保存规则设定
#保存上述规则 service iptables save 开启iptables服务
复制代码 #注册iptables服务 #相当于以前的chkconfig iptables on systemctl enable iptables.service #开启服务 systemctl start iptables.service #查看状态 systemctl status iptables.service 复制代码
解决vsftpd在iptables开启后,无法使用被动模式的问题
1.首先在/etc/sysconfig/iptables-config中修改或者添加以下内容
#添加以下内容,注意顺序不能调换 IPTABLES_MODULES=”ip_conntrack_ftp” IPTABLES_MODULES=”ip_nat_ftp” 2.重新设置iptables设置
iptables -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT

No comments:

Post a Comment