1. 程式人生 > >iptable和nat表應用

iptable和nat表應用

iptable nat表

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

    [root@aminglinux-02 ~]# 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
      [root@akuilinux01 ~]# cat /proc/sys/net/ipv4/ip_forward
      0
      [root@akuilinux01 ~]# echo "1" > !$
      echo "1" > /proc/sys/net/ipv4/ip_forward
      [root@akuilinux01 ~]# 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

擴展

  • iptables應用在一個網段
  • sant,dnat,masquerade
  • iptables限制syn速率

iptable和nat表應用