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

扩展

原文地址:http://blog.51cto.com/akui2521/2114635

时间: 2024-10-04 22:31:27

iptable和nat表应用的相关文章

Linux iptables nat表的使用

nat表:网络地址转换表. pre:目的地转换 把内外预设到外网进行访问 把用户的请求转给10.0.0.1 post:源地址转换 统一代理上网节点等 iptable配置文件 原文地址:https://www.cnblogs.com/Brake/p/12304170.html

10.15 iptables filter表案例 10.16/10.17/10.18 iptables nat表应用

10.15 iptables filter表案例 10.16/10.17/10.18 iptables nat表应用 扩展 iptables应用在一个网段 http://www.aminglinux.com/bbs/thread-177-1-1.html sant,dnat,masquerade http://www.aminglinux.com/bbs/thread-7255-1-1.html iptables限制syn速率 http://www.aminglinux.com/bbs/thre

centos里iptable的NAT

用centos5.3配nat死活都不行,参考N多配置方法都无济于事. 觉得是操作系统那里出了问题,又用了6.6,里面有个配置的图形引导界面,很容易就搞定了. 后来在英文网页里发现 echo "1" > /proc/sys/net/ipv4/ip_forward 这样就可以了.寻找N多地方,终于知道这是在OS系统默认不转发流量的时候,强制转发的方法. 常态的让系统转发需要修改配置文件. /etc/sysctl.conf 里面 net.ipv4.ip_forward = 1 不起作用

笔记9(日常运维2iptables nat表、zone、service、cron、chkconfig、systemd、unit、target、rsyncscreen)

nat表应用 A机器两块网卡ens33(192.168.133.130).ens37(192.168.100.1),ens33可以上外网,ens37仅仅是内部网络,B机器只有ens37(192.168.100.100),和A机器ens37可以通信互联. 需求1:可以让B机器连接外网 查看路由转发:cat /proc/sys/net/ipv4/ip_forward 如果是0,我们需要打开它 A机器上打开路由转发 echo "1">/proc/sys/net/ipv4/ip_forw

Linux学习(二十九)iptables(三)nat表的应用

需求 A机器可以访问外网,B机器和A机器处于同一个内网,现在要让B机器通过A机器访问外网. 步骤 1.为虚拟机添加一块网卡. 如果没有区段名称的话,点击'LAN区段(S)...'按钮,新建一个. 2.ifconfig -a命令可以看到刚添加进来的尚未启用的网卡: [[email protected] ~]# ifconfig -a eth1 Link encap:Ethernet HWaddr 00:0C:29:AC:CC:56 inet addr:192.168.182.130 Bcast:1

linux笔记-032-日常运维-filter表实例,nat表实例

filter表实例 需求:把80端口,22端口,21端口放行,22端口指定只有某IP段可以访问,其他IP段的均拒绝,在这里,利用SHELL脚本完成这个需求 [[email protected]01:~#] vim /usr/local/sbin/iptables.sh #! /bin/bash # 以下操作没用-t指定表,所以对默认的filter表生效 # 定义一个变量ipt,命令用绝对路径能不受环境变量影响 ipt="/usr/sbin/iptables" # 清空之前定义的规则 $

iptable filter nat MASQUERADE snat dat

在这里,系统会根据IP数据包中的destination ip address中的IP地址对数据包进行分发.如果destination ip adress是本机地址,数据将会被转交给INPUT链.如果不是本机地址,则交给FORWARD链检测. 这也就是说,我们要做的DNAT要在进入这个菱形转发区域之前,也就是在PREROUTING链中做, 比如我们要把访问202.103.96.112的访问转发到192.168.0.112上: iptables -t nat -A PREROUTING -d 202

73.fileter表案例,NAT表的应用

fileter表案例 要求如下:只针对filter表,预设策略INPUT链DROP,其他两个链ACCEPT,然后针对192.168.204.0/24开通22端口,对所有网段开放80端口,对所有网段开放21端口.这个需求不算复杂,但是因为有多条规则,所以最好写成脚本的形式.脚本内容如下[email protected] ~]# cat /usr/local/sbin//iptables.shcat: /usr/local/sbin//iptables.sh: 没有那个文件或目录[[email pr

十(4)iptables语法、iptables filter表小案例、iptables nat表应用

                                    iptables语法 filter表: INPUT链:作用于进入本机的包 OUTPUT链:作用于送出本机的包 FORWARD链:作用于和本机无关的包 nat表: PREROUTING链:作用是包在刚刚到达防火墙时改变包的目标地址 OUTPUT链:改变本地产生的包的目标地址 POSTROUTING链:作用是在包将离开防火墙时改变包源地址 1.查看iptables规则 iptables -nvL  (此时默认查看filter表,