filter表应用-nat表应用

 filter表应用:

    需求:把80、22、21端口放行,22端口指定IP段才可放行,其他IP段拒绝。

 

1.编写一个脚本/tmp/iptables.sh 内容如下:

#! /bin/bash

#定义变量,在shell中命令使用绝对路径

ipt="/usr/sbin/iptables"          

#清空之前规则,没使用-t制定表,默认对filter表操作

$ipt -F

#修改默认策略,INPUT策略为DROP

$ipt -P INPUT DROP

#修改默认策略,OUTPUT策略为ACCEPT

$ipt -P OUTOUT ACCEPT

#修改默认策略,FORWARD策略为ACCEPT

$ipt FORWARD ACCEPT

#指定RELATED (边缘状态),ESTABLISHED(保持连接)状态的数据放行

$ipt -A INPUT -m state --state RELATED ,ESTABLISHED -j ACCEPT

#指定由此网段访问22端口的数据放行

$ipt -A INPUT -s 192.168.133.0/24 -p tcp --dport 22 -j ACCEPT 

#指定访问80端口的数据放行

$ipt -A INPUT -p tcp --dport 80 -j ACCEPT

#指定访问21端口的数据放行

$ipt -A INPUT -p tcp --dport 21 -j ACCEPT

 

2.执行脚本:sh /tmp/iptables.sh

3.查看新规则: iptables -nvL

 

PS: 使本机可正常ping通其他机器,但拒绝其他机器ping本机:

iptables -I INPUT -p icmp --icmp-type 8 -j DROP

 

nat表应用:

需求:

 

需求1:B机器通过A机器访问外网。

 

1.A机器修改内核参数开启路由转发功能:

echo "1" > /proc/sys/net/ipv4/ip_forward                 #默认是0(不转发);改为1(转发)

2.A机器增加规则:

iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE

3.B机器网关设置为192.168.100.1

此时B机器应能ping通A机器的192.168.133.130

 

需求2:外网C机器能与A机器通信,并能通过A机器连接B机器的22端口

思路:使用端口映射,将B机器22端口映射成其他端口如1122,映射到A机器

 

1.A机器修改内核参数开启路由转发功能:

echo "1" > /proc/sys/net/ipv4/ip_forward                 #默认是0(不转发);改为1(转发)

2.A机器增加规则;

#接收到的数据包目标为133.130:1122的数据转发到100.100:22上

iptables -t nat -A PREROUTING -d 192.168.133.130 -p tcp --dport 1122 -j DNAT --to 192.168.100.100:22      

#接收到的数据包源为100.100的数据将目标地址改成133.130  

iptables -t nat -A PORTROUTING -s 192.168.100.100 -j SNAT --to 192.168.133.130

3.B机器网关设置为192.168.100.1    

4.C机器通过ssh 192.168.133.130:1122 访问B机器22端口     

 

转载于:https://my.oschina.net/u/3866910/blog/1854307

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值