linux系统中防火墙脚本,防火墙设置脚本

## 防火墙设置脚本

>[success]在web服务器中,只需要开启 web服务 和ssh服务还有 ping 其它的一率禁止

### 脚本如下:

>[warning] 在配置防火墙的时,一定要注意,不要把自己关在外面,最简单的方式,是使用脚来处理。

~~~

#!/bin/bash

#配置服务器防火墙

#author yifeng (E-mail:576617109@qq.com)

iptables -F #先清空规则

iptables -P INPUT DROP #禁止所有访问

iptables -P OUTPUT DROP #禁止所有响应

iptables -P FORWARD DROP #禁止所有转发

iptables -A INPUT -p tcp --dport 80 -j ACCEPT #允许web访问

iptables -A INPUT -p tcp --dport 22 -j ACCEPT #允许ssh访问

iptables -A INPUT -p icmp -j ACCEPT #开启ping

iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT #响应web访问

iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT #响应ssh访问

iptables -A OUTPUT -p icmp -j ACCEPT #响应ping 访问

service iptables save #永久保存配置信息

~~~

>[danger]通常情况,都是通过远程管理服务器的,所以在设置防火墙时,一定要特别小心,不要把22端口给关闭了。

远程配置防火墙必须使用脚本,不然在执行完开始三条默认规则后,就会把远端踢出去,这样就无法完成后面的配置,服务器会拒绝一切的进出。

这时,如果没有执行service iptables save这个命令,通过重启服务器可以解决。否则只能通知机房管理中进行处理。

~~~

#查看帮助

iptables -h

man iptables

#列出iptables规则

iptables -L -n

#列出iptables规则并显示规则编号

iptables -L -n --line-numbers

#列出iptables nat表规则(默认是filter表)

iptables -L -n -t nat

#清除默认规则(注意默认是filter表,如果对nat表操作要加-t nat)

#清楚所有规则

iptables -F

#重启iptables发现规则依然存在,因为没有保存

service iptables restart

#保存配置

service iptables save

#禁止ssh登陆(若果服务器在机房,一定要小心)

iptables -A INPUT -p tcp --dport 22 -j DROP

#删除规则

iptables -D INPUT -p tcp --dport 22 -j DROP

-A, --append chain追加到规则的最后一条

-D, --delete chain [rulenum]Delete rule rulenum (1 = first) from chain

-I, --insert chain [rulenum]Insert in chain as rulenum (default 1=first) 添加到规则的第一条

-p, --proto protoprotocol: by number or name, eg. 'tcp',常用协议有tcp、udp、icmp、all

-j, --jump target 常见的行为有ACCEPT、DROP和REJECT三种,但一般不用REJECT,会带来安全隐患

注意:INPUT和DROP这样的关键字需要大写

#禁止192.168.33.0网段从eth0网卡接入

iptables -A INPUT -p tcp -i eth0 -s 192.168.33.0 -j DROP

iptables -A INPUT -p tcp --dport 22 -i eth0 -s 192.168.33.61 -j ACCEPT

#禁止ip地址非192.168.10.10的所有类型数据接入

iptables -A INPUT ! -s 192.168.10.10 -j DROP

#禁止ip地址非192.168.10.10的ping请求

iptables -I INPUT -p icmp --icmp-type 8 -s 192.168.50.100 -j DROP

#扩展匹配:1.隐式扩展 2.显示扩展

#隐式扩展

-p tcp

--sport PORT 源端口

--dport PORT 目标端口

#显示扩展:使用额外的匹配规则

-m EXTENSTION --SUB-OPT

-p tcp --dport 22 与 -p tcp -m tcp --dport 22功能相同

state:状态扩展,接口ip_contrack追踪会话状态

NEW:新的连接请求

ESTABLISHED:已建立的连接请求

INVALID:非法连接

RELATED:相关联的连接

#匹配端口范围

iptables -I INPUT -p tcp --dport 22:80 -j DROP

#匹配多个端口

iptables -I INPUT -p tcp -m multiport --dport 22,80,3306 -j ACCEPT

#不允许源端口为80的数据流出

iptables -I OUTPUT -p tcp --sport 80 -j DROP

~~~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值