Day32 iptables filter表案例、iptables nat表应用

iptables filter表案例

  • 介绍两个以后可能会用到的,关于iptables filter表案例
案例一、需求(将指定端口放行)
  • 指定端口 80、21、22放行,且22要指定一个ip段
  • 为了实现这个需求,我们要写一个脚本
vi /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.133.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  指定端口放行
案例二、需求(能连接外网,但是不能ping本地)
  • 相当于禁止ping本地
 iptables -I INPUT -p icmp --icmp-type 8 -j DROP

iptables nat表应用

准备目标:
 **A机器两块网卡ens33(192.168.10.129)、ens37(192.168.110.110),ens33可以上外网,ens37仅仅是内部网络,  

B机器只有en s37(192.168.110.90),和A机器ens37可以通信互联。** - 注意:两个网卡ip的写法 ,是与本身网卡不同网段,新增网卡相同的网段

  • 准备
    • 打开两个客户机,为其添加两个新的网卡
    • 命令:ifconfig ens37 192.168.110.10/24 用于增加新的网卡IP,当然也可以去直接编辑配置文件
    • 两个新增网卡的ip网关要一样
    • 最后记得用cmd检查下是否符合要求





需求1:可以让B机器连接外网
  • 第一步、打开A机器上的路由转发
    • 检查有没有开启内核转发: cat /proc/sys/net/ipv4/ip_forward 输出为0时表示未开启
    • 开启,将0改成1 :echo "1" > !$
[root@centos001 ~]# cat /proc/sys/net/ipv4/ip
[root@centos001 ~]# cat /proc/sys/net/ipv4/ip
ip_default_ttl           ipfrag_max_dist
ip_dynaddr               ipfrag_secret_interval
ip_early_demux           ipfrag_time
ip_forward               ip_local_port_range
ip_forward_use_pmtu      ip_local_reserved_ports
ipfrag_high_thresh       ip_nonlocal_bind
ipfrag_low_thresh        ip_no_pmtu_disc
[root@centos001 ~]# cat /proc/sys/net/ipv4/ip_forward 
0
[root@centos001 ~]# echo "1" > !$
echo "1" > /proc/sys/net/ipv4/ip_forward
[root@centos001 ~]# !cat
cat /proc/sys/net/ipv4/ip_forward
1
  • 第二步、在A机器的nat表中增加一条规则,目的是要让这个网段能上网
[root@centos001 ~]# iptables -t nat -A POSTROUTING -s 192.168.110.0/24 -o ens33 -j MASQUERADE 
[root@centos001 ~]# iptables -t nat -nvL
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 MASQUERADE  all  --  *      ens33   192.168.100.0/24     0.0.0.0/0   //最下能看到我们增加的规则
  • 第三步、添加网关
需求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

扩展

  1. iptables应用在一个网段
    http://www.aminglinux.com/bbs/thread-177-1-1.html
  2. sant,dnat,masquerade
    http://www.aminglinux.com/bbs/thread-7255-1-1.html
  3. iptables限制syn速率
    http://www.aminglinux.com/bbs/thread-985-1-1.html http://jamyy.us.to/blog/2006/03/206.html

转载于:https://my.oschina.net/u/3707523/blog/1849236

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值