2018.5.9 七周四次课

iptables filter表案例

需求:把80端口,22端口,21端口放行。 但是22端口需要指定一个IP段,其他网段的一概拒绝,写一个shell脚本,示例如下:

[root@zhang-01 ~]# vim /usr/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.133.0/24 -p tcp --dport 22 -j ACCEPT  #133网段的22端口放行
$ipt -A INPUT -p tcp --dport 80 -j ACCEPT #把80端口的数据包放行
$ipt -A INPUT -p tcp --dport 21 -j ACCEPT  #把21端口的数据包放行

w查看一下系统负载

[root@zhang-01 ~]# w
 01:16:36 up 1 day, 15:29,  2 users,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.139.1    Tue20   26:53m  0.18s  0.05s bash
root     pts/2    192.168.139.1    01:04    4.00s  0.07s  0.00s w

sh运行脚本,然后查看规则

sh /usr/sbin/iptables.sh ##运行脚本

2018.5.9 七周四次课

iptables nat表应用

 nat表应用
 A机器两块网卡ens33(192.168.133.130)、ens37(192.168.100.1),ens33可以上外网,ens37仅仅是内部网络,B机器只有ens37(192.168.100.100),和A机器ens37可以通信互联。
 需求1:可以让B机器连接外网
 A机器上打开路由转发 echo "1">/proc/sys/net/ipv4/ip_forward
 A上执行 iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE 
 B上设置网关为192.168.100.1
 需求2:C机器只能和A通信,让C机器可以直接连通B机器的22端口
 A上打开路由转发echo "1">/ proc/sys/net/ipv4/ip_forward
  A上执行iptables -t nat -A PREROUTING -d 192.168.133.130 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22
 A上执行iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.133.130
 B上设置网关为192.168.100.1

周六日巩固基础知识。

猜你喜欢

转载自blog.51cto.com/13646023/2114655