Iptables Nat转发

Iptables Nat

iptables子命令:

规则:

-A:添加

-I:插入

-D:删除

-R:修改

链:

-N:新建一条自定义的链

-X:删除一条自定义的空链

-F:清空链中的规则

-Z:清空链中的计数器

-E:重命名自定连的名称

-P:修改链的默认规则

显示:

-L:

-n,-v,--line-numbers

-S:

规则定义:iptables -t table -A|-I|-R chain 匹配条件 -j target

匹配条件:

通用匹配:-s,-d,-i,-o,-p

扩展匹配:

隐含扩展

-p tcp

--sport --dport --tcp-flags

--syn

-p udp

--sport --dport

-p icmp

--icmp-type

echo-request:8

echo-reply:0

显示扩展

-m state

--state

-m multiport

--sports,--dports,--ports

-m iprange

--src-range,--dst-range

-m string

--algo {bm|kmp},--string,--hex-string

-m connlimit

--connlimit-above

-m limit

--limit n(/second|minute|hour|day),--limit-burst

-m time

--datestart,--datestop

--timestart,--timestart

--weekdays

-j

ACCEPT DROP REJECT LOG REDIRCT SNAT DNAT MASQUERADE MARK RETURN 自定义链

四表:raw mangle nat filter

五链:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING

主机防火墙:INPUT,OUTPUT

网络防火墙:

路由:对于Linux主机来说,设定/proc/sys/net/ipv4/ip_forward的值为1,即为开启了路由功能.

路由表的生成:

静态:手动添加

动态:基于路由协议学习,RIP2,OSPF

NAT:网络地址转换

A:10

B:172.16-172.31

C:192.168.0-192.168.255

NAT:工作在网络层和传输层

Proxy:工作在应用层

iptables -P FORWARD DROP

网关必须和本地ip在同一局域网内

一个请求进来首先交给本机,本机未匹配到再交给网关.

172.16.0.177---{172.16.0.192|192.168.30.11}-----192.168.30.129

# iptables -A FORWARD -d 192.168.30.129 -m state --state ESTABLISHED -j ACCEPT

# iptables -A FORWARD -d 192.168.30.129 -p tcp -m multiport --dports 22,80 -m state --state NEW -j ACCEPT

NAT:

Basic Nat:静态NAT.

NAPT:动态NAT,网络地址端口转换.

源地址转换:SNAT,用于让内网主机访问互联网.

目标地址转换:DNAT,让互联网上的主机访问本地内网中的某服务器上的服务.

Iptables 基于SNAT和DNAT这两个目标实现地址转换技术.

-j SNAT --to-source

添加到post链.

# iptables -t nat -nL

Chain PREROUTING (policy ACCEPT)

target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)

target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)

target     prot opt source               destination

PREROUTING:主要做DNAT

POSTROUTING  OUTPUT  主要做SNAT

#SNAT实例;

所有来自172.16.0.0/24的ip全部做SNAT,转换为 192.168.30.129

# iptables -t nat -A POSTROUTING -s 172.16.0.0/24 -j SNAT --to-source 192.168.30.129

-j:MASQUERADE 地址伪装

-j:DNAT --to-destination DIP[:PORT]

支持端口映射

# iptables -t nat -A PREROUTING -d 172.16.0.192 -p tcp --dport 80 -j DNAT --to-destination 192.168.30.129

访问本地扯淡2222端口,做DNAT跳到192.168.30.129的22端口.

# iptables -t nat -A PREROUTING -d 172.16.0.192 -p tcp --dport 2222 -j DNAT --to-destination 192.168.30.129:22

UDP多端口转发:

有两种写法,多端口的匹配可以使用":"匹配范围,也可以使用"-"匹配范围.

第一种:

#-A PREROUTING -d 192.168.30.129 -p udp --dport 41861:41868 -j DNAT --to-destination 172.16.10.192:41861-41868

#-A POSTROUTING -s 172.16.10.192 -p udp --dport 41861:41868 -j SNAT --to-source 192.168.30.131

匹配端口范围,但是nat转发时会端口错乱,有时转发可能并未达到想要的结果.

第二种:

一个端口一条的匹配.

时间: 2024-11-10 15:56:10

Iptables Nat转发的相关文章

Linux服务--iptables之nat转发和构建简单的DMZ防火墙

iptables之nat转发和构建简单的DMZ防火墙 一.NAT iptables 中的nat表: nat:Network Address Translation:NAT不仅完美地解决了IP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机. nat有三种实现方式:SNAT,DNAT和端口多路复用OverLoad 在了解Nat工作原理之前先了解一下私网IP和公网IP.私网IP地址是指局域网内部网络或主机的IP地址,公网地址是指在因特尔网上全球唯一的IP地址. 私有

控制iptables的nat转发端口的实现

[第一.需求描述]     员工通过办公网络的网关服务器(linux)192.168.1.250的snat访问另外一个局域网:安全中心(10.1.1.0/24),但是为了提高安全性,只允许访问安全中心的指定端口. [第二.方案实施] #cat /etc/sysconfig/iptables #只允许nat转发的指定的端口22,80 *nat :PREROUTING ACCEPT [0:0] :POSTROUTING ACCEPT [1:92] :OUTPUT ACCEPT [1:92] #从19

iptables nat表转发

1.上外网 环境 nat表具有转发的功能,让服务器具有路由器的功能. 两台机器A和B. A有两块网卡,网卡a:192.168.88.130   网卡b:192.168.100.2 B有一块网卡,网卡c:192.168.100.2 192.168.88.130是可以上外网的,网卡c只能连通网卡b,并不能上网. 1.1 目标: 让机器B通过机器A转发,达到可以上网的功能. 1.2  nat转发 上外网 1.给两台机器都添加1块网卡,自定义lan段 2.设置机器A新网卡的IP地址 # ifconfig

iptables nat 技术转发

NAT 一. 什么是 NAT NAT(Network Address Translation)译为网络地址转换.通常路由器在转发我们的数据包时,仅仅会将源MAC地址换成自己的MAC地址,但是NAT技术可以修改数据包的源地址.目的地址以及源端口.目的端口等信息. 二. NAT的作用 NAT技术最常见的应用就是通过修改源IP地址实现内网多主机使用一个公网地址接入互联网.NAT技术通常用于端口和流量的转发.重定向,实现如端口映射.跨网络访问.流量代理等功能. 二. iptables实现NAT转发 1.

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

Linux 服务器--Iptables 端口转发

日常Iptables 端口转发 需求:公司是局域网络,通过一个外网ip,进行互联网的访问.公司的云平台服务器在公网中,虚拟化平台中有一台内部服务器,用于公司某部门的使用,上面运行www 服务,ssh端口,方便平时上传网站文件.现领导要求将此内部服务器交接给此部门,并只让其在公司内部访问,外面的公网是拒绝访问的. 结构图: 2.解决方法:通过linux 服务器的iptables,利用端口转发,在公司内部通过A机器(或者说A代表某个部门),使其访问到B机器上的特定连接转发至内部机器C上.由于机房服务

iptables NAT规则【转】

nat表需要的三个链: 1.PREROUTING:可以在这里定义进行目的NAT的规则,因为路由器进行路由时只检查数据包的目的ip地址,所以为了使数据包得以正确路由,我们必须在路由之前就进行目的NAT;  2.POSTROUTING:可以在这里定义进行源NAT的规则,系统在决定了数据包的路由以后在执行该链中的规则.  3.OUTPUT:定义对本地产生的数据包的目的NAT规则. 需要用到的几个动作选项:(真实环境中用大写)  redirect  将数据包重定向到另一台主机的某个端口,通常用实现透明代

iptables nat及端口映射

发布: 2010-6-11 15:05 | 作者: admin | 来源: SF NetWork 门户网站 iptables 应用初探(nat+三层访问控制) iptables是一个Linux下优秀的nat+防火墙工具,我使用该工具以较低配置的传统pc配置了一个灵活强劲的防火墙+nat系统,小有心得,看了网上也有很多这方面的文章,但是似乎要么说的比较少,要么就是比较偏,内容不全,容易误导,我研究了一段时间的iptables同时也用了很久,有点滴经验,写来供大家参考,同时也备日后自己翻阅. 首先要

iptables 端口转发(单网卡)

pc1 ip:192.168.23.252 pc2 ip:192.168.23.253 目的:访问pc1 的web服务跳转到pc2的web服务上 实现步骤: 开启linux 自带的转发功能 echo 1 > /proc/sys/net/ipv4/ip_forward 我这里使用没有任何规则的iptables service iptables stop iptables -F iptables -X iptables -Z service iptables save 转发命令 iptables -