天道酬勤,学无止境

iptables:在不同的接口和端口上转发请求(Iptables: forward request on different interfaces and port)

问题

我有一台有 2 个接口的机器:

eth0      inet addr:1.1.1.1
eth1      inet addr:2.2.2.2

eth0 是服务器,eth1 是虚拟机上的网络。

我在服务器上有 ssh,所以 1.1.1.1:22 很忙。

我需要一个规则来将 eth0 端口 6000 上的传入连接重定向到端口 22(虚拟机 ip)上的 eth1、ip 2.2.2.100。

在这种模式下,如果我这样做,在外部机器上,

ssh -p 6000 root@1.1.1.1

我会在虚拟机上登录。

我试过这个规则,但没有用:

sudo iptables -P FORWARD ACCEPT
sudo iptables -t nat -A PREROUTING -p tcp -i eth0 --dport 6000 -j DNAT --to 2.2.2.100:22
回答1

好吧,这种情况下有大约 100 万个脚本/教程/东西,但是如果有人从 google 登陆这里,则是这样的:

iptables -I FORWARD -d 2.2.2.2 -m comment --comment "Accept to forward ssh traffic" -m tcp -p tcp --dport 22 -j ACCEPT    
iptables -I FORWARD -m comment --comment "Accept to forward ssh return traffic" -s 2.2.2.2 -m tcp -p tcp --sport 22 -j ACCEPT    
iptables -t nat -I PREROUTING -m tcp -p tcp --dport 60000 -m comment --comment "redirect pkts to virtual machine" -j DNAT --to-destination 2.2.2.2:22   
iptables -t nat -I POSTROUTING -m comment --comment "NAT the src ip" -d 2.2.2.2 -o eth1 -j MASQUERADE

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • Iptables 规则用法小结
    iptables是组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。在日常Linux运维工作中,经常会设置iptables防火墙规则,用来加固服务安全。以下对iptables的规则使用做了总结性梳理:iptables首先需要了解的:1)规则概念规则(rules)其实就是网络管理员预定义的条件,规则一般的定义为“如果数据包头符合这样的条件,就这样处理这个数据包”。规则存储在内核空间的信息 包过滤表中,这些规则分别指定了源地址、目的地址、传输协议(如TCP、UDP、ICMP)和服务类型(如HTTP、FTP和SMTP)等。当数据包与规则匹配时,iptables就根据规则所定义的方法来处理这些数据包,如放行(accept),拒绝(reject)和丢弃(drop)等。配置防火墙的主要工作是添加,修改和删除等规则。其中:匹配(match):符合指定的条件,比如指定的 IP 地址和端口。丢弃(drop):当一个包到达时,简单地丢弃,不做其它任何处理。接受(accept):和丢弃相反,接受这个包,让这个包通过。拒绝(reject):和丢弃相似,但它还会向发送这个包的源主机发送错误消息。这个错误消息可以指定,也可以自动产生。目标(target):指定的动作
  • iptables之filter表操作
    filter表是iptables的默认表,它可以作用于INPUT、FORWARD、OUTPUT三个链上。实现对输入数据包、转发数据包以及输出数据包的过滤。这也是常见的防火墙的操作。规则格式:iptables [-t table] COMMAND chain [rulenum] [-m matchname [per-match-options]] -j targetname [per-target-options] -t 表示使用哪个表,raw,mangle,nat,filterchain 表示用于哪个链PREROUTING、INPUT、FORWARD、OUTPUT、POSTROUTINGrulenum 表示chain的第几条规则match 匹配条件,用于唯一的标识数据流,比如指定源目地址,源目端口,协议以及扩展的匹配项target 表示处理动作,最基本的包括允许、拒绝、丢弃、nat等 iptables的规则,类似ACL,从上到下进行匹配,需要双向放行。根所iptables所要实现的功能不同,其所需要配置的表和链也不同。最常见的操作是在本机进行数据包的过滤,即默认表filter的操作。如果把它当成网络防火墙,则需要开启核心转发功能。开启核心转发:永久生效:vi /etc/sysctl.conf# Controls IP packet forwardingnet.ipv4.ip
  • IPtables之四:NAT原理和配置
    NAT一般情况下分为SNAT,DNAT和PNAT 此篇主要讲述的是使用iptables配置NAT,所以这3种NAT的区别和应用场景就简单的说明一下 SNAT:源地址转换 目标地址不变,重新改写源地址,并在本机建立NAT表项,当数据返回时,根据NAT表将目的地址数据改写为数据发送出去时候的源地址,并发送给主机 目前大多都是解决内网用户用同一个公网地址上网的情况 DNAT:目标地址转换 和SNAT相反,源地址不变,重新修改目标地址,在本机建立NAT表项,当数据返回时,根据NAT表将源地址修改为数据发送过来时的目标地址,并发给远程主机 在DNAT的基础上,可以根据请求数据包的端口做PNAT(端口转换,也称为端口映射),可以更句请求数据包不同的端口改写不同的目标地址,从而发送给不同的主机 这在用一个公网地址做不同服务时用的比较多,而且相对来说,用NAT的方式可以隐藏后端服务器的真实地址,更加的安全 在使用iptables实现nat之前,再来回头说说iptables的基础原理 在这个模型中,完成nat的实现,数据要经过prerouting—forword--postrouting这3个链 分析SNAT的数据流向过程 首先进入prerouting,发现不是本网段的地址,而后开始查找路由表(查找路由的过程在prerouting和forword之间),于是经过forword链进行转发
  • 万字讲解OpenWrt防火墙iptables,并使用UCI配置防火墙
    一、防火墙简介 “防火墙”(Firewall)术语来自建筑设计领域,是指用来起分割作用的墙,当某一部分 着火时可以减缓或保护其他部分免受火灾影响。在计算机网络中,防火墙是在两个或多个 网络之间用于设置安全策略的一个或多个系统的组合。防火墙起到隔离异常访问的作用, 仅允许可靠的流量通过,从而保护了家庭和企业内部网络信息的安全。下图是一 个典型的防火墙部署结构。 Linux防火墙通常包含两部分,分别为: iptables。netfilter。 二、iptables防火墙工具简介 iptables是用C语言实现的,最新版本是1.4.21,并以GNU许可协议发布。它实际上包含两部分:内核netfilter和用户空间工具 iptables。管理员通过iptables工具集和内核打交道,将防火墙规则写入内核中。内核netfilter执行报文过滤规则。iptables是Linux管理防火墙规则的命令行工具,处于用户空间。netfilter执行报文过滤,处于Linux内核空间。有时候也会用 iptables 来统称Linux防火墙。iptables 是一个报文状态检测防火墙,这意味着防火墙内部存储每一个连接的信息,并且可以将每一个报文关联到它所属的连接。这个信息非常有用,它用于自动打开响应报文的传输路径,因此在创建防火墙规则时,通常没有必要创建相反方向的防火墙规则,防火 墙将自动计算出这个规则。
  • centos7版本firewalld防火墙的基本命令配置管理
    centos7/redhat7已经默认使用firewalld作为防火墙,其使用的方式已经变化,基于iptables的防火墙默认不启用,但是仍可以继续使用注意:centos7/redhat7中有几种防火墙共存:firewalld、iptables、ebtablesd、默认使用的是firewalld作为防火墙,管理工具是firewalld、Centos7的内核版本是3.10uname -r在此版本的内核里防火墙的包过滤机制是firewalld,使用firewalld来管理netfilter,不过底层调用的还是iptables,因为这几种damon是冲突的,所以建议禁用其他服务systemctl status {firewalld,iptables,ip6tables,ebtables}禁止iptables、ip6tables、ebtablessystemctl mask {iptables,ip6tables,ebtables}firewalld提供了支持网络/防火墙区域(zone)定义网络链接以及接口安全等级的防火墙管理工具。拥有运行时配置和永久配置选项。它也支持允许服务或者应用程序直接添加防火墙规则的接口。以前的system-config-firewall防火墙模型是静态的,每次修改都要求防火墙完全重启。这个过程包括内核netfilter防火墙模块的卸载和新配置所需模块的装载等。
  • 25个iptables常用示例
    本文将给出25个iptables常用规则示例,这些例子为您提供了些基本的模板,您可以根据特定需求对其进行修改调整以达到期望。格式iptables [-t 表名] 选项 [链名] [条件] [-j 控制类型] 参数-P 设置默认策略:iptables -P INPUT (DROP|ACCEPT)-F 清空规则链-L 查看规则链-A 在规则链的末尾加入新规则-I num 在规则链的头部加入新规则-D num 删除某一条规则-s 匹配来源地址IP/MASK,加叹号"!"表示除这个IP外。-d 匹配目标地址-i 网卡名称匹配从这块网卡流入的数据-o 网卡名称匹配从这块网卡流出的数据-p 匹配协议,如tcp,udp,icmp--dport num 匹配目标端口号--sport num 匹配来源端口号 示例1. 删除已有规则在开始创建iptables规则之前,你也许需要删除已有规则。命令如下:iptables -F(or)iptables –flush 2.设置链的默认策略链的默认政策设置为"ACCEPT"(接受),若要将INPUT,FORWARD,OUTPUT链设置成"DROP"(拒绝),命令如下:iptables -P INPUT DROPiptables -P FORWARD DROPiptables -P OUTPUT DROP当INPUT链和OUTPUT链都设置成DROP时
  • 防火墙配置与使用
    防火墙配置与使用 实验目的 进行防火墙的配置与使用,理解防火墙的原理规则等 实验先修知识 iptables基本命令使用 iptables -h #简易帮助 iptables [-t表名] <-L> [链名] #查看iptables规则 #–[-t表名],查看哪个表的规则列表 #–-L,查看指定表指定链的规则列表 #–链名,查看指定表中哪个链的规则链表 iptables -L -n -t filter -v #查看iptales的三个链(转发链,input和output链 iptables.rules #查看防护墙配置规则 iptables-restore <iptables.rules #iptables-restore命令用来还原iptables-save命令所备份的iptables配置。 ssh 172.16.111.1 -vv#查看ssh服务 iptables核心指令格式 iptables [-t 表] 命令 匹配 操作 其中表选项,指定命令应用于哪个内置表(filter表、nat表或mangle表),命令选项则如表8-1所示,匹配选项如表8-2所示,动作选项为表8-3所示, 命令说明-P或–policy <链名>定义默认策略-L或–list <链名>查看iptables规则列表-A或–append <链名>在规则列表的最后增加1条规则-I或–insert <链名
  • Kubernetes探索实践之网络通信
    前言 计算机间的信息和数据在网络中必须按照数据传输的顺序、数据的格式内容等方面的约定或规则进行传输,这种约定或规则称做协议。各种网络协议分布于不同的网络分层中,网络分层分为OSI七层模型和TCP/IP五层模型两种。TCP/IP五层模型分别是应用层、传输层、网络层、链路层和物理层,与OSI七层模型的区别是在TCP/IP五层模型中,OSI七层模型中的会话层、表示层、应用层统一被称为应用层。计算机网络数据是按照协议规范采用分层的结构由发送端自上而下流动到物理层,再从物理层在网络分层中自下而上的流动到接收端的应用层,完成数据通信。网络分层中,高层级的应用模块仅利用低层级应用模块提供的接口和功能,低层级应用模块也仅是使用高层级应用模块传来的参数响应相关的操作,层次间每个应用模块都是可被能提供相同功能的应用模块替代。 Kubernetes的网络通信也遵守TCP/IP五层模型的定义,通过不同的资源对象在相应的层级提供相应的模块功能。Kubernetes资源对象在相应的网络层级与传统网络设备模块的对照表如表12-2所示。 表 12-2 设备模块对照表 网络分层 设备模块 Kubernetes资源对象 应用层 F5、Haproxy、Nginx Ingress 传输层 四层交换、路由 Service 网络层 路由器、三层交换机 flannel、calico、Pod(容器间通信) 链路层 网桥
  • Linux系统防火墙iptables
    Linux系统防火墙iptables iptablesiptables概述netfilter/iptables 关系四表五链作用与简述四表五链规则链之间的匹配顺序规则链内的匹配顺序 iptables的安装与相关规则配置方法iptables的安装iptables防火墙的配置方法 规则的匹配通用匹配隐含匹配显式匹配 SNAT原理与应用SNAT 应用环境SNAT原理SNAT转换前提条件Linux网关临时开启IP路由转发Linux网关永久开启IP路由转发SNAT转换(固定的公网IP地址)SNAT转换(非固定的公网IP地址即共享动态IP地址) DNAT原理与应用DNAT 应用环境DNAT原理DNAT转换前提条件DNAT转换(发布内网的Web服务)DNAT转换(发布时修改目标端口) 其他拓展与注意事项防火墙规则的备份和还原 iptables iptables概述 Linux 系统的防火墙 :虽然 netfilter/iptables IP 信息包过滤系统被称为单个实体,但它实际上由两个组件netfilter 和 iptables 组成。 主要工作在网络层,针对IP数据包。体现在对包内的IP地址、端口等信息的处理上。 PTABLES 是与最新的 3.5 版本 Linux 内核集成的 IP 信息包过滤系统。如果 Linux 系统连接到因特网或 LAN、服务器或连接 LAN 和因特网的代理服务器,
  • 细说firewalld和iptables
    在RHEL7里有几种防火墙共存:firewalld、iptables、ebtables,默认是使用firewalld来管理netfilter子系统,不过底层调用的命令仍然是iptables等。firewalld跟iptables比起来至少有两大好处:1、firewalld可以动态修改单条规则,而不需要像iptables那样,在修改了规则后必须得全部刷新才可以生效;2、firewalld在使用上要比iptables人性化很多,即使不明白“五张表五条链”而且对TCP/IP协议也不理解也可以实现大部分功能。firewalld跟iptables比起来,不好的地方是每个服务都需要去设置才能放行,因为默认是拒绝。而iptables里默认是每个服务是允许,需要拒绝的才去限制。firewalld自身并不具备防火墙的功能,而是和iptables一样需要通过内核的netfilter来实现,也就是说firewalld和 iptables一样,他们的作用都是用于维护规则,而真正使用规则干活的是内核的netfilter,只不过firewalld和iptables的结构以及使用方法不一样罢了。一个重要的概念:区域管理通过将网络划分成不同的区域,制定出不同区域之间的访问控制策略来控制不同程序区域间传送的数据流。例如,互联网是不可信任的区域,而内部网络是高度信任的区域。网络安全模型可以在安装
  • linux笔记防火墙之iptables入门
    一.iptables简介 防火墙,其实说白了讲,就是用于实现Linux下访问控制功能的,它分为硬件的或者软件的防火墙两种。无论是在哪个网络中,防火墙工作的地方一定是在网络的边缘。而我们的任务就是需要去定义到底防火墙如何工作,这就是防火墙的策略,规则,以达到让它对出入网络的IP、数据进行检测,它的功能十分强大,使用非常灵活,毫不逊色于一些企业级防火墙。 二.Netfilter、table、chains、policy之间的关系。 Netfilter是table的容器,而table(表)是chains(链)的容器,policy(规则)属于chain(链)。为了方便读者理解,举个例子:如果把Netfilter比作一栋楼,那么他们的关系如下: 三.iptables的工作原理 匹配规则原理图 防火墙规则的执顺序默认是从前到后,遇到匹配规则(不管是deny或者accept)后就不再往下检查,如果遇到不到匹配的规则会继续向下检查直到遇到匹配规则为止,若检查完所有规则还没有匹配就会使用默认规则进行匹配。 iptable表和链的对应关系 防火墙默认使用的是Fileter表,负责过滤本机流入、流出的数据包INPUT:负责过滤所有目标地址是本机地址的数据包FORWARD:负责转发流经本机但不进入本机的数据包,起转发的作用OUTPUT:处理所有从本机发出去的数据包。PROWARD:在数据包到达防火墙时
  • iptables DNAT 与 SNAT 详解
    DNAT target 这个target是用来做目的网络地址转换的,就是重写包的目的IP地址。如果一个包被匹配了,那么和它属于同一个流的所有的包都会被自动转换,然后就可以被路由到正确的主机或网络。DNAT target是非常有用的。比如,你的web服务器在LAN内部,而且没有可以在Internet上使用的真实IP地址,那就可以使用这个target让防火墙把所有到它自己HTTP端口的包转发给LAN内部真正的web服务器。目的地址也可以是一个范围,这样的话,DNAT会为每一个流随机分配一个地址。因此,我们可以用这个target做某种类型的负载平衡。 注意,DNAT target只能用在nat表的PREOUTING 和 OUTPUT 链中,或者是被这两条链调用的链里。但还要注意的是,包含DNAT target的连不能被除此之外的其他链调用,如POSTROUTING。 Table 6-16. DNAT target Option --to-destination Example iptables -t nat -A PREROUTING -p tcp -d 15.45.23.67 --dport 80 -j DNAT --to-destination 192.168.1.1-192.168.1.10 Explanation指定要写入IP头的地址,这也是包要被转发到的地方
  • 如何在 linux 中使用 iptables 将 http 和 https 流量转发到透明代理 [关闭](How to use iptables in linux to forward http and https traffic to a transparent proxy [closed])
    问题 关闭。 此问题不符合 Stack Overflow 准则。 它目前不接受答案。 想改善这个问题吗? 更新问题,使其成为 Stack Overflow 的主题。 5年前关闭。 改进这个问题 我有一个 Ubuntu linux 系统作为网关系统,上面有两个接口。 一个接口用于本地网络,一个接口用于互联网。 我可以毫无问题地通过它路由流量。 我使用两个iptables规则来转发来自内部接口的出站流量: iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE iptables --append FORWARD --in-interface eth1 -j ACCEPT 我现在需要创建一个iptables规则来过滤和重定向所有通过eth1接口离开我的网络的 tcp 端口 80 和 443 流量,并将其发送到驻留在 tcp 端口 9090 上的环回接口上的代理服务器。 我一直在搜索,但我一直无法找到一个有效的例子。 有没有一种有效的方法来做到这一点? 回答1 iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 9090 HTTPS 不能与透明代理一起使用。 有一些黑客,但它没有任何意义,是无用的。 回答2
  • linux系统中查看己设置iptables规则
    1、iptables -L查看filter表的iptables规则,包括所有的链。filter表包含INPUT、OUTPUT、FORWARD三个规则链。说明:-L是--list的简写,作用是列出规则。2、iptables -L [-t 表名]只查看某个表的中的规则。说明:表名一共有三个:filter,nat,mangle,如果没有指定表名,则默认查看filter表的规则列表(就相当于第一条命令)。举例:iptables -L -t filter3、iptables -L [-t 表名] [链名]这里多了个链名,就是规则链的名称。说明:iptables一共有INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING五个规则链。举例:iptables -L INPUT注意:链名必须大写。在Linux系统上,命令的大小写很敏感。4、iptables -n -L说明:以数字形式显示规则。如果没有-n,规则中可能会出现anywhere,有了-n,它会变成0.0.0.0/05、iptables -nv -L说明:你也可以使用“iptables -L -nv”来查看,这个列表看起来更详细,对技术人员更友好,呵呵。如果想删除iptables规则我们可以如下操作删除用-D参数删除之前添加的规则(iptables -A INPUT -s 192.168.1.5 -j
  • iptables入门篇
    一、 iptables简介1.1 什么是iptables?iptables是Linux防火墙工作在用户空间的管理工具,是netfilter/iptables IP 信息包过滤系统是一部分,用来设置、维护和检查Linux内核的IP数据包过滤规则。1.2主要特点1)列出数据包过滤器规则集的内容2)添加/删除/修改数据包过滤器规则集中的规则3)列出/清零数据包过滤器规则集的每个规则计数器 二、 基本概念iptables 可以检测、修改、转发、重定向和丢弃 IP 数据包。其代码已经内置于内核中,并且按照不同的目的被组织成表(table)的集合。表由一组预先定义的链(chain)组成,链包含遍历顺序规则。每一条规则包含条件匹配和相应的动作(称为目标),如果条件匹配为真,该动作会被执行。下图简要描述了网络数据包通过iptables的过程(只包含filter和nat表):图中在上面的小写字母代表表,在下面的大写字母代表链。从任何网络端口进来的每一个 IP 数据包都要从上到下的穿过这张图。一种常见的困扰是认为 iptables 对从内部端口进入的数据包和从面向互联网端口进入的数据包采取不同的处理方式,相反,iptabales 对从任何端口进入的数据包都会采取相同的处理方式。可以定义规则使 iptables 采取不同的方式对待从不同端口进入的数据包。当然一些数据包是用于本地进程的
  • Linux之调度器LVS
    1,实验拓扑图:VS/NAT 1,全部基于Ansible主机操作 安装ipvsadm 基于光盘yum源 # yum install ipvsadm # ipvsadm -A -t 172.22.145.146:80 添加集权主节点,VIP:PORT # ipvsadm -Ln IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port Forward Weight ActiveConn InActConn TCP 172.22.145.146:80 wlc wlc算法实验看起来不明显 # ipvsadm -E -t 172.22.145.146:80 -s rr 修改算法为轮询 # ipvsadm -a -t 172.22.145.146:80 -r 172.16.36.10:8080 -m # ipvsadm -a -t 172.22.145.146:80 -r 172.16.36.11:80 -m # ipvsadm -Ln IP Virtual Server version 1.2.1 (size=4096) Prot LocalAddress:Port Scheduler Flags -> RemoteAddress:Port
  • 干货巨献:Openshift3.9的网络管理大全.加长篇---Openshift3.9学习系列第二篇
    一、OVS的三种模式OpenShift的OVS网络组件有三种模式:ovs-subnet、ovs-multitenant、ovs-networkpolicy。ovs-subnet是默认的OVS插件模式,提供扁平的pod网络。每个pod都可以与其他pod和服务进行通信。ovs-multitenant为pod和服务提供项目级隔离,每个项目都会收到唯一的虚拟网络ID(VNID),用于标识分配给项目的pod的流量;一个项目中的Pod无法向不同项目中的pod和服务发送数据包或从其接收数据包(除非用命令行将两个项目join一起)ovs-networkpolicy提供pod级别隔离。它完全由NetworkPolicy对象控制。这样,网络控制的规则,可以由集群管理员下放到项目管理员。项目管理员可以创建网络策略,例如配置项目的入口规则保护服务免受***。二、OVS网络隔离的实现在OCP中,如果配置了ovs-multitenant或者ovs-networkpolicy可以实现网络隔离。那么,网络隔离是如何实现的呢?在ovs-multitenant模式下,每个项目将会被分配一个VNID。每个项目都会收到唯一的虚拟网络ID(VNID),用于标识分配给项目的pod的流量一个项目中的Pod无法向不同项目中的pod和服务发送数据包或从其接收数据包也就是说,不同VNID的pod之间是无法互相通讯的。但有一种例外
  • iptables--表/命令/选项/匹配/目标
    iptables--表/命令/选项/匹配/目标 1.基本语法2.表3.命令4.选项5.匹配5.1 通用匹配5.2 隐含匹配5.2.1 TCP匹配5.2.2 UDP匹配5.2.3 ICMP匹配 5.3 显式匹配5.3.1 Limit匹配5.3.2 MAC匹配5.3.3 Mark匹配5.3.4 Multiport匹配5.3.5 State匹配5.3.6 TOS匹配5.3.7 TTL匹配 6.目标/跳跃6.1 ACCEPT target6.2 DNAT target6.3 DROP target6.4 LOG target6.5 MARK target6.6 MASQUERADE target6.7 REDIRECT target6.8 REJECT target6.9 RETURN target6.10 SNAT target6.11 TOS target6.12 TTL target 1.基本语法 基本语法如下: iptables [-t table ] command [match] [target/jump] 对于这个句法没什么可说的,但注意 target 指令必须在最后。为了易读,我们一般用这种语法。总之,你将见到的大部分规则都是按这种语法写的。在[table]处指定表名。一般情况下没有必要指定使用的表,因为 iptables 默认使用 filter 表来执行所有的命令
  • iptables
    iptables简介基于包过滤的防火墙工具,强大,灵活,可以对流入和流出服务器的数据包进行很精细的控制,不逊于企业级专业路由器防火墙。 iptables 主要在OSI的二三四层如果从新编译内核也可以支持7层控制iptables 表、链、规则概念什么是表(tables)? 表是链的容器,即所有的链(chains)都属于其对应的表(tabblesles)。如上把Netfilter 看成是某个小区的一栋楼,那么表(tables)就是楼里期中的一栋房子 什么是链(chains)? 链是(chains)规则(Policys)的容器,接上,如果把表(tables)当做有一套房子,那么链(chains)就可以说是房子里的家具。 什么是规则? 规则就比较容易理解了,就是iptables一系列过滤信息的规范和具体方法条款了。可以理解为柜子如何增加并摆放柜子等iptables工作流程工作流程小结: 1. 防火墙是层层过滤的,实际是按照配置规则的顺序从上到下,从前到后进行过滤的 2. 如果匹配上规则,即明确表示是阻止还是通过,数据包就不再向下匹配新的规则 3. 如果规则中没有明确表明是阻止还是通过的,也就是没有匹配规则,向下进行匹配,直到匹配默认规则得到明确的阻止还是通过 4. 防火墙的默认规则是所有规则执行完才执行的iptables 4表5链filter nat raw manglenet
  • iptables之FORWARD转发链
    本文转载自leekwen《Iptables之FORWARD转发链》 iptables有5个链:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING,4个表:filter,nat,mangle,raw.4个表的优先级由高到低的顺序为:raw-->mangle-->nat-->filterfilter:一般的过滤功能nat:用于nat功能(端口映射,地址映射等)mangle:用于对特定数据包的修改raw:有限级最高,设置raw时一般是为了不再让iptables做数据包的链接跟踪处理,提高性能表和链的关系如下: filter FORWARD、INPUT、 OUTPUT nat PREROUTING、POSTROUTING、OUTPUT mangle PREROUTING、POSTROUTING、OUTPUT、INPUT、FORWARD raw PREROUTING、OUTPUT1.prerouting:进入netfilter后的数据包在进入路由判断前执行的规则。改变包。2.Input:当经过路由判断后,要进入本机的数据包执行的规则。3.output:由本机产生,需向外发的数据包执行的规则。4.forward:经过路由判断后,目的地不是本机的数据包执行的规则。与nat 和 mangle表相关联很高,与本机没有关联。5.postrouting:经过路由判断后