iptable和nat表应用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iptable和nat表应用相关的知识,希望对你有一定的参考价值。

iptables小案例
  • 需求:把80,22,21端口放行,22端口只有某个IP段可以访问。

    [[email protected] ~]# 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    #-m state检测数据包状
    态,--state 指定状态,这条命令为了使通信更顺畅
    $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  
    # 增加规则
  • icmp示例
    • iptables -I INPUT -p icmp --icmp-type 8 -j DROP //禁止其他机器ping本机,本机可以ping其他机器

nat表的应用

  • A机器两块网卡ens33(192.168.133.130)、ens37(192.168.100.1),ens33可以上外网,ens37仅仅是内部网络,B机器只有ens37(192.168.100.100),和A机器ens37可以通信互联。
  • 准备:创建两个虚拟机,A机器配置两块网卡,ens33设置ip:192.168.133.130,ens37设置Ip:192.168.100.1。B机器配置一块网卡ens37ip:192.168.100.100。这里虚拟机的两个内网卡需要选择LAN区段模式
    • ifconfig ens37 192.168.100.1/24可以临时设置ip,永久要修改配置文件
  • 需求1:可以让B机器连接外网
    • A机器上打开路由转发 echo "1">/proc/sys/net/ipv4/ip_forward //该命令是更改内核设置,打开路由转发功能,默认值是0
      [[email protected] ~]# cat /proc/sys/net/ipv4/ip_forward
      0
      [[email protected] ~]# echo "1" > !$
      echo "1" > /proc/sys/net/ipv4/ip_forward
      [[email protected] ~]# cat /proc/sys/net/ipv4/ip_forward
      1
    • A上执行 iptables -t nat -A POSTROUTING -s 192.168.100.0/24 -o ens33 -j MASQUERADE //把100网段伪装成ens33网卡
    • B上设置网关为192.168.100.1,命令为route add default gw 192.168.100.1 。route -n查看网关
    • B配置DNS
      vim /etc/resolv.conf
      # Generated by NetworkManager
      nameserver 119.29.29.29
  • 需求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 //把B的22端口,映射到A的1122端口上
    • A上执行iptables -t nat -A POSTROUTING -s 192.168.100.100 -j SNAT --to 192.168.133.130 //端口转发
    • B上设置网关为192.168.100.1

扩展

以上是关于iptable和nat表应用的主要内容,如果未能解决你的问题,请参考以下文章

10.15 iptables filter表案例 iptable nat应用

七周四次课 iptables filter表案例以及iptables nat表应用

iptables防火墙filter表控制扩展匹配 nat表典型应用

iptables filter表案例,iptables nat表应用

iptables filter表案例iptables nat表应用

iptables学习02-nat表应用