iptables filter表案例、iptables nat表应用

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

iptables filter表案例、iptables nat表应用

每条代码的含义:

ipt="/usr/sbin/iptables" 定义变量,这样就不用每次都打后面这么长的地址。
iptables filter表案例、iptables nat表应用

$ipt -F 把之前的规则清除掉,(没有-f指定表,默认就是filter表)

iptables filter表案例、iptables nat表应用

$ipt -P INPUT DROP 定义默认的策略,这一条是把INPUT链DROP掉

iptables filter表案例、iptables nat表应用

$ipt -P OUTPUT ACCEPT 把OUTPUT链设置成ACCEPT

iptables filter表案例、iptables nat表应用

$ipt -P FORWARD ACCEPT 把FORWARD链设置成ACCEPT

iptables filter表案例、iptables nat表应用

然后我们来添加规则,下面这条规则是让通信更加顺畅

iptables filter表案例、iptables nat表应用

然后把这个这个网段的访问22端口的数据包放行。

iptables filter表案例、iptables nat表应用

把80端口数据包放行。

iptables filter表案例、iptables nat表应用

把21端口数据包放行。

iptables filter表案例、iptables nat表应用

因为这个操作里有一个-p INPUT DROP操作,所以必须要写脚本才行。

iptables filter表案例、iptables nat表应用

wq 保存,执行脚本sh /usr/local/sbin/iptables.sh(放行网段时注意别把自己的远程给断了)
sh /usr/local/sbin/iptables.sh

iptables filter表案例、iptables nat表应用

然后我们可以查看一下,192.168.71.0/24段的IP可以访问22端口,然后打开了80和21端口

iptables filter表案例、iptables nat表应用

icmp示例

猜你喜欢

转载自blog.51cto.com/13658403/2114469