iptables命令是Linux上经常使用的防火墙软件,是netfilter项目的一部分
iptables文件设置路径:命令:vim /etc/sysconfig/iptables-configvim
若是说你之前使用的是contos7 那么默认使用的防火墙那么就是Firewall 这样的话,就要先把Firewall 给关闭在使用iptablesbash
关闭Firewall 命令
命令:systemctl stop firewalld #关闭防火墙
命令:systemctl disable firewalld #禁止开机启动服务器
命令:service iptables statusssh
命令:yum install -y iptablestcp
命令:yum update iptablesspa
命令:yum install iptables-servicesrest
命令:systemctl start iptables.service #启动防火墙
命令:systemctl enable iptables.service #设置开机自启动code
命令:systemctl stop iptables.service #关闭防火墙
命令:systemctl disable iptables.service #禁止开机启动接口
命令:systemctl status iptables.serviceip
命令:iptables -L -n
11.1 安装完成基本配置-容许全部请求防止悲剧
首先在清除前要将policy INPUT改为ACCEPT,表示接受一切请求。
这个必定要先作,否则清空后可能会直接悲剧
设置 INPUT 方向全部的请求都容许
命令:iptables -P INPUT ACCEPT
11.2 安装完成基本配置-清空全部默认规则
命令:iptables -F
11.3 安装完成基本配置-清空全部自定义规则
命令:iptables -X
11.4 安装完成基本配置-全部计数器归0
命令:iptables -Z
12.1容许来自于lo接口的数据包
若是没有此规则,你将不能经过127.0.0.1访问本地服务,例如ping 127.0.0.1
命令:iptables -A INPUT -i lo -j ACCEPT
12.2开启某个端口
iptables -A INPUT -p tcp --dport 端口 -j ACCEPT
12.2.1例子:开启80,22端口
命令:iptables -A INPUT -p tcp --dport 80 -j ACCEPT
命令:iptables -A INPUT -p tcp --dport 22 -j ACCEPT
12.3容许icmp包经过,也就是容许ping
命令:iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
12.4容许全部对外请求的返回包
本机对外请求至关于OUTPUT,对于返回数据包必需要接收啊,这至关于INPUT了
命令:iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
12.5若是要添加内网ip信任(接受其全部TCP请求)
iptables -A INPUT -p tcp -s 192.168.1.50(改成容许的内网IP便可) -j ACCEPT
12.6过滤除iptables规则以外的全部请求
命令:iptables -P INPUT DROP
注意:设置完成之后先执行命令iptables -L -n看一下配置是否正确。
没问题后,先不要急着保存,由于没保存只是当前有效,重启后就不生效,这样万一有什么问题,能够后台强制重启服务器恢复设置。
另外开一个ssh链接,确保能够登录。
确保没问题以后在进行保存
保存命令:service iptables save
systemctl restart iptables.service
15.1要封停一个IP,使用下面这条命令
命令:iptables -I INPUT -s ... -j DROP
15.2 要解封一个IP,使用下面这条命令
命令:iptables -D INPUT -s ... -j DROP
要删除规则那么咱们就须要先将全部iptables规则以序号标记显示,执行:
命令:iptables -L -n --line-numbers
好比要删除INPUT里序号为8的规则,执行:
命令:iptables -D INPUT 8
#!/bin/sh #查看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 #保存 service iptables save #重启动 serv systemctl restart iptables.service
(。・`ω´・) 哇哦