iptables filter表案例
案例:
需求:把80端口22端口21端口放行,22端口指定一个IP段,只有这个IP段的ip访问的时候才可以访问到,其他段的都拒绝。
我们先编写一个shell脚本
vim /usr/local/sbin/iptables.sh
加入如下内容
#! /bin/bash
ipt="/usr/sbin/iptables"
$ipt -F
$ipt -P INPUT DROP
$ipt -P OUTPUT ACCEPT
$ipt -P FORWARD ACCEPT
$ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$ipt -A INPUT -s 192.168.71.0/24 -p tcp --dport 22 -j ACCEPT
$ipt -A INPUT -p tcp --dport 80 -j ACCEPT
$ipt -A INPUT -p tcp --dport 21 -j ACCEPT
每条代码的含义:
ipt="/usr/sbin/iptables" 定义变量,这样就不用每次都打后面这么长的地址。
$ipt -F 把之前的规则清除掉,(没有-f指定表,默认就是filter表)
$ipt -P INPUT DROP 定义默认的策略,这一条是把INPUT链DROP掉
$ipt -P OUTPUT ACCEPT 把OUTPUT链设置成ACCEPT
$ipt -P FORWARD ACCEPT 把FORWARD链设置成ACCEPT
然后我们来添加规则,下面这条规则是让通信更加顺畅
然后把这个这个网段的访问22端口的数据包放行。
把80端口数据包放行。
把21端口数据包放行。
因为这个操作里有一个-p INPUT DROP操作,所以必须要写脚本才行。
wq 保存,执行脚本sh /usr/local/sbin/iptables.sh(放行网段时注意别把自己的远程给断了)sh /usr/local/sbin/iptables.sh
然后我们可以查看一下,192.168.71.0/24段的IP可以访问22端口,然后打开了80和21端口
icmp示例
原文地址:http://blog.51cto.com/13658403/2114469
时间: 2024-11-04 01:30:11