day 34 iptables nat表应用

10.15 iptables filter表小案例

1、iptables小案例
vi /usr/local/sbin/iptables.sh //加入如下内容
#! /bin/bash
ipt="/usr/sbin/iptables" //定义变量,指定 绝对路径,避免因环境变量问题导致命令无法执行
$ipt -F //清除之前的规则
$ipt -P INPUT DROP //“-P”定义默认策略
$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 //添加规则,指定源网段放行
$ip,t -A INPUT -p tcp --dport 80 -j ACCEPT //添加规则,目的端口为80端口的数据包放行
$ipt -A INPUT -p tcp --dport 21 -j ACCEPT  //添加规则,目的端口为21端口的数据包放行
2、icmp示例
iptables -I INPUT -p icmp --icmp-type 8 -j DROP //禁止外部机器ping本机,本机可ping同外部机器
#systemctl restart iptables.service //重启iptables服务,恢复iptables规则
10.16-10.18  iptables nat表应用

A机器两块网卡ens33(192.168.133.130)、ens37(192.168.100.1),ens33可以上外网,ens37仅仅是内部网络,B机器只有ens37(192.168.100.100),和A机器ens37可以通信互联。
(1)需求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, 运行命令:route add default gw 192.168.100.1
  • 注意给B机器ens37配置ip时可以通过编辑配置文件完成,也可以运行命令:ifconfig ens37 192.168.100.100/24 完成,但重启后就失效,建议编辑配置文件修改,B机器的ens33最好运行命令ifdown ens33关闭该网卡

(2)需求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机器的1122端口映射到B机器的22端口
  • A上执行:iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.133.130                            //B机器的回包源IP路由到A机器的IP
  • B上设置网关为192.168.100.1

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值