iptables防火墙规则及简单脚本

清空规则:
iptales -F
添加默认规则:
iptables -P 链 动作

添加一个放行80端口的规则

iptables  -A  INPUT    -p   tcp   --dport 80  -j   ACCEPT   

-A 追加一条规则
-D 删除(delete)指定链中的某一条规则,可以按规则序号和内容删除
-I 在指定链中插入(insert)一条新的规则,默认在第一行添加
-R 修改、替换(replace)指定链中的某一条规则,可以按规则序号和内容替换
-L 列出(list)指定链中所有的规则进行查看
-F 清空(flush)
-N 新建(new-chain)一条用户自己定义的规则链
-X 删除指定表中用户自定义的规则链(delete-chain)
-P 设置指定链的默认策略(policy)
-n 使用数字形式(numeric)显示输出结果
-v 查看规则表详细信息(verbose)的信息

常用的匹配条件:
-p: 协议
-s: 源地址
-d: 目标地址
–dport: 目标端口
–sport: 源端口

动作:
ACCEPT: 放行
DROP: 丢弃
REJECT: 拒绝

#!/bin/bash
while true
do
   echo "1.放行端口"
   echo "2.封锁端口"
   echo "3.放行IP"
   echo "4.封锁IP"
   read -ep "请输入你的操作:" aa
   case $aa in
   1)
        read -ep "请输入你要放行的端口:" port
        echo "正在放行..."
        iptables -I INPUT -p tcp --dport $port  -j ACCEPT
        echo "放行规则添加成功"
        read -ep "是否继续输入:" sf
        case $sf in
        y|yes|Y)
                continue
        ;;
        n|no|N)
                break
        ;;
        esac
   ;;
   2)
        read -ep "请输入你要封锁的端口:" port
        echo "正在封锁..."
        iptables -I INPUT -p tcp --dport $port  -j DROP
        echo "封锁成功..."
        read -ep "是否继续输入:" sf
        case $sf in
        y|yes|Y)
                continue
        ;;
        n|no|N)
                break
        ;;
        esac
   ;;
   3)
        read -ep "请输入你要放行的IP:" ip
        echo "正在添加放行规则"
        iptables -I INPUT -s $ip -j ACCEPT
        echo "放行规则添加成功"
        read -ep "是否继续输入:" sf
        case $sf in
        y|yes|Y)
                continue
        ;;
        n|no|N)
                break
        ;;
        esac
   ;;
   4)
        read -ep "请输入你要封锁的IP:" ip
        echo "正在封锁..."
        iptables -I INPUT -s $ip -j DROP
        echo "封锁成功..."
        read -ep "是否继续输入:" sf
        case $sf in
        y|yes|Y)
                continue
        ;;
        n|no|N)
                break
        ;;
        esac
   ;;
   *)
        echo "输入有误,退出脚本"
        break
   ;;
   esac
done
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值