壹 、SNAT:源地址转换

netfileter:防火墙内核态
ip tables:防火墙用户态(管理防火墙规则)

iptables,iptableslinux

规则:网络管理员预约义的数量包过滤条件

链:数据包传播路线,每条链中能够有多少个规则,从第3条规则检查起

表:内置第①张表

  
filter:首要用于包过滤,只同意对数据报开始展览收纳和放任,不能够对数据包实行改动,

  nat:主要用于网络地址转换,

Mangle:对点名包进行改动

澳门金沙国际 1

iptables对数据包的处理进程

澳门金沙国际 2

Iptables 指令语法:iptables 【-t tables】  command  【match】【-j
target/jump】

 

【-t tables】

内定规则表,暗许filter

 

Command  常用命令列表:

 

-A :新增一条规则到有个别规则链,默许添加到链尾。

-D:删除一条规则,可输入完整命令,也可输入规则编号

-PAJERO:取代现行反革命规则,规则取代后不会转移种种

-I:插入一条规则,原本地点上的条条框框向后移动1个地方

-L:列出规则连中享有条条框框

   iptables -t nat -L  列出nat 表中持有条条框框

-F:删除规则

  iptables -F input 删除filter中input链中颇具规则

 

【match】

 常用封包匹配参数

-P:匹配商事项目,也可加!反向匹配,使用all能够包容全数

-S:用来匹配封包来源ip,-s 192.168.1.0/24 可用来同盟多个段

-D:匹配封包的指标ip,同上。

-O:匹配数据包的出网卡。

–sport:匹配数据包的源端口,匹配一个限制能够设置成20:80

–dport:同上。

–tcp-flags:匹配tcp中的标志位

 

【-j target/jump】

 常用的处理动作

   -j:用来内定处理动作

     ACCEPT :将数据包放行

     REJECT:拦阻数据包

    DROP:抛弃数据包不予处理

澳门金沙国际 3

  实例:lan:1.1.1.1 wan:192.168.2.159
              内网主机:1.1.1.2
      内网中的1.1.1.2主机的22端口映射到公网地址192.168.2.159的88端口
     1,在nat表中的PREROUTING中添加一条
    iptables -t nat -A PREROUTING -d 192.168.2.159 -p tcp –dport 88 -j
DNAT –to 1.1.1.2:22
   若1.1.1.2主机的网关在做iptables的服务器上就足以了,假使不在
    2,必要在POSTROUTING的链中添加一条
  iptables -t nat -A POSTROUTING  -d 1.1.1.2 -p tcp –dport 22  -j SNAT
–to 1.1.1.1

SNAT一般用于到外网,出去 

SNAT的指标是开始展览源地址转换,应用于POSTROUTING规则链.在路由控制今后应用.SNAT与出站接口相关,而不是入站接口

DNAT用于从外边进入的

 目标地址NAT有2种样式: DNAT和REDIRECT.
REDIRECT是指标地址转换的格外格局,将数据包重定向到NAT设备的输入或回环接口.
目标地址NAT应用于nat表的PREROUTING和OUTPUT规则链,在做出路由决定前对目标地址进行修改.在PREROUTING中,DNAT和REDIRECT规则与用来接受通过当地路由转载或送到主机的入站接口的数据包的入站接口有关.在OUTPUT中,DNAT和REDIRECT规则用来拍卖来自NAT主机本身生成的出站数据包.

 

SNAT eg:

iptables -t nat -I POSTROUTING -s 10.1.0.0/24 -j SNAT –to-source
192.168.0.5

将内网10.1网段映射为192.168.0.5出来

也足以如此:

iptables -t nat -I POSTROUTING -s 10.1.0.0/24 -j SNAT –to-source
192.168.0.5-192.168.0.245

将本地映射到一段IP地址上(能够做攻击用^^)

上述例子的平等效果:iptables -t nat -I POSTROUTING -s 10.1.0.0/24 -j
NETMAP –to 192.168.0.0/24

 

DNAT eg:

iptables -t nat -A PREROUTING -d ROUTEIP -p tcp –dport 80 -j DNAT
–to-destination WEBIP

ROUTEIP表示防火墙(路由器)的公网IP 

WEBIP 代表内网WEB服务器IP

那条规则表示当外网访问当地的HTTP80端口时,自动转到内网的WEB服务器上。等于是把web服务器做了个映射到公网上。

当唯有供给从外网访问内网时,那样是十足了,

可是倘诺急需从内网机器,通过WEB服务器的外网IP访问WEB服务器来说,还索要加条SNAT规则:

 iptables -t nat -A POSTROUTING -p tcp -d WEBIP –dport 80 -j SNAT –to
ROUTEIP

将造访WEB服务器的数据包的源IP地址强制改为网关IP。不然会并发不可能访问的题材。

 简单解析下原因:

 假诺内网   192.168.0.10->供给从表面IP访问WEB的主机         

                  192.168.0.254->WEB服务器内部IP地址          

                 192.168.0.1->网关 (外部IP为202.96.22.22)

 当192.168.0.10访问202.96.22.22的WEB服务时,

据说网关上的DNAT,数据包的目的IP由202.96.22.22被转为192.168.0.254。254收取多少包后,发现是10出殡和埋葬过来的,

那么她会间接回数据包给192.168.0.10,不过10接到包后意识包的源于不是友善想要的202.96.22.22,

那那个包就会被直接舍弃。

化解办法便是在254不用一贯发包给10,而是回到给网关,让网关原路重临给10机器。那样,只要将发往254请求WEB服务的数据包的源IP都改为网关的IP,192.168.0.1,就能够消除这么些标题。

iptables -t nat -A POSTROUTING -p tcp -d 192.168.0.254 –dport 80 -j
SNAT –to 192.168.0.1

 

一局域网192.168.1.0/24,

web服务器:192.168.1.10

ftp服务器:192.168.1.11

网关linux,

内网eth0,IP为192.168.1.1

外网eth1,IP为a.b.c.d

 

什么作NAT能使内外网都能访问公司的服务器?

A:# web

# 用DNAT作端口映射

iptables -t nat -A PREROUTING -d a.b.c.d -p tcp –dport 80 -j DNAT –to
192.168.1.10

# 用SNAT作源地址转换(关键),以使回应包能科学重临

iptables -t nat -A POSTROUTING -d 192.168.1.10 -p tcp –dport 80 -j SNAT
–to 192.168.1.1

 

# 一些人时常忘了打开FORWA福睿斯D链的相干端口,特此扩大

iptables -A FORWARD -o eth0 -d 192.168.1.10 -p tcp –dport 80 -j ACCEPT

iptables -A FORWARD -i eth0 -s 192.168.1.10 -p tcp –sport 80 -m –state
ESTABLISHED -j ACCEPT

 

# ftp

modprobe ip_nat_ftp
###加载ip_nat_ftp模块(若没有编写翻译进基本),以使ftp能被科学NAT

modprobe ip_conntrack_ftp ###加载ip_conntrack_ftp模块

# 用DNAT作端口映射

iptables -t nat -A PREROUTING -d a.b.c.d -p tcp –dport 21 -j DNAT –to
192.168.1.11

iptables -A FORWARD -o eth0 -d 192.168.1.11 -p tcp –dport 21 -j ACCEPT

iptables -A FORWARD -i eth0 -s 192.168.1.11 -p tcp –sport 21 -m –state
ESTABLISHED -j ACCEPT

iptables -A FORWARD -i eth0 -s 192.168.1.11 -p tcp –sport 20 -m –state
ESTABLISHED,RELATED -j ACCEPT

iptables -A FORWARD -o eth0 -d 192.168.1.11 -p tcp –dport 20 -m –state
ESTABLISHED -j ACCEPT

iptables -A FORWARD -o eth0 -d 192.168.1.11 -p tcp –dport 1024: -m
–state ESTABLISHED,RELATED -j ACCEPT

iptables -A FORWARD -i eth0 -s 192.168.1.11 -p tcp –sport 1024: -m
–state ESTABLISHED -j ACCEPT

# 用SNAT作源地址转换(关键),以使回应包能正确重回

iptables -t nat -A POSTROUTING -d 192.168.1.11 -p tcp –dport 21 -i eth0
-j SNAT –to 192.168.1.1

 

 

 

详尽参考:

 

规则:互联网管理员预约义的数量包过滤条件
链:数据包传播路线,每条链中能够有三个规则,从第③条规则检查起
表:…

平整:互连网管理员预订义的数量包过滤条件

金玉锦绣内网访问外网,修改IP地址,使用POSTROUTING

iptables的表和链
表包含差别的链,链包罗大气的规则
4个表:
raw,mangle,nat,filter
5种链(一般在nat表里用):
INPUT(入站数据),OUTPUT(出站数据),FO帕杰罗WA帕杰罗D(转载数量),
PREROUTING(路由选用前),POSTROUTING(路由精选后)

链:数据包传播路径,每条链中能够有五个规则,从第①条规则检查起

命令:iptables  -t  nat  -A POSTROUTING  -s 
192.168.1.10/24  -j SNAT  –to-source  202.1.1.1

iptables基本用法:
iptables -t 表名 -选项 链名 条件匹配 -j 操作类型

表:内置第贰张表

二 、MASQUERADE:地址伪装

广阔选项:
-A:在链的末梢追加一条规则
-I:在链的上马(或内定序号)插入一条规则
-L:列出全数的规则条目
-n:以数字方式显得地址,端口等消息
–line-numbers:查看规则时,显示规则的序号
-D:删除链内钦命序号(或内容)的一条规则
-F:清空全体的平整
-P:为钦赐的链设置私下认可规则

  
filter:首要用来包过滤,只同意对数据报开始展览吸收和丢掉,不可能对数码包进行更改,

适用于外网ip地址非固定的动静

条件匹配类型:
通用匹配:独立运用
-p:内定协议
-s:源地址
-d:指标地点
-i:入站网卡
-o:出站网卡
含蓄匹配:信赖于某种通用匹配
–sport:源端口
–dport:目的端口
–icmp-type:
–tcp-flags:
扩张匹配:-m 模块名

Iptables防火墙(SNAT和DNAT)。  nat:首要用于互连网地址转换,

将SNAT规则改为MASQUERADE即可

壮大条件的方法
前提条件:有相应的防火墙模块援救
中央用法:
-m 扩大模块 –扩张条件 条件值
示例:-m mac –mac-source 00:0C:29:74:BE:21

Mangle:对点名包举办改动

命令:iptables  -t  nat  -A POSTROUTING  -s 
192.168.1.0/24  -j MASQUERADE

简化服务开启规则
一条规则开放三个端口
比如web,ftp,mail,ssh等
[root@hydra]# iptables -A INPUT -p tcp -m multiport –dports
20:22,25,80,110,143,16501:16800 -j ACCEPT
听别人说ip范围封锁主机:
ssh登陆的ip范围控制
允许192.168.1.10-192.168.4.20登陆
有序从192.168.4.0/24网段别的主机登陆
[root@hydra]# iptables -A INPUT -p tcp –dport 22 -m iprange
–src-range 192.168.4.10-192.168.4.20 -j ACCEPT
[root@hydra]# iptables -A INPUT -p tcp –dport 22 -s 192.168.4.0/24
-j DROP

澳门金沙国际 4

叁 、DNAT:指标地点转换

——————————————————————————————————————————————————————————
nat表典型应用
SNAT源地址转换(Source Network Address Translation)
修改数据包的源地址
仅用于nat表的POSTROUTING链

iptables对数据包的处理进度

完毕公布集团里面服务器,修改指标地址,使用PREROUTING

DNAT指标地址转换(Destination Network Address Translation)
修改数据包指标位置(ip,端口)
仅用于nat表的PREROUTING,OUTPUT链

澳门金沙国际 5

命令:iptables  -t nat  -A  PREROUTING -d  202.1.1.1 
-p tcp  –dport  8080 -j  DNAT  -to 192.168.1.100:80

布置SNAT共享上网
布署的显要策略:
分选出去的包,针对来自局域网,
将要从外网接口发出去的包,将源ip地址修改为网关的公网ip地址
[root@gw1 ~]# iptables -t nat -A POSTROUTING -s 192.168.4.0/24 -o
eth1 -j SNAT –to-source 174.16.16.1
(192.168.4.0/24局域网网段地址,eth1外网接口,174.16.16.1外网接口的ip地址)

Iptables 指令语法:iptables 【-t tables】  command  【match】【-j
target/jump】

肆 、备份和苏醒规则:

地方伪装策略
共享动态公网ip地址达成上网:
重点针对外网接口ip地址不固定的意况,
将SNAT改为MASQUERADE即可
对此ADSL宽带拨号连接,网络接口可写为ppp+
iptables -t nat -A POSTROUTING -s 192.168.4.0/24 -o eth1 -j MASQUERADE

 

备份:

——————————————————————————————————————————————————————
案例准备:
gw1:192.168.4.1 174.16.16.1
svr:192.168.4.2
pc174.16.16.120
在svr上准备dns服务,web服务,网页内容hydra
提供解析记录:www.Anonymous.cn
——》174.16.16.1
从pc上可见访问以下地点:

http://www.Anonymous.cn

【-t tables】

1)iptables-save  >  文件

[root@svr ~]# vim
/var/named/Anonymous.cn.zone
@ NS
svr.Anonymous.cn.
svr A 192.168.4.2
www A 174.16.16.1

内定规则表,默许filter

     导出到钦点文件

[root@svr ~]# vim /etc/named.conf
zone “Anonymous.cn” IN {
type master;
file “Anonymous.cn.zone”;
};
[root@svr ~]# vim /var/www/html/test.html
hydra!

 

2)service  iptables save

内网web主机可以访问internet,比如SNAT
linux网关服务器开启ip路由转发,将web域名解析为网关的外网ip地址
[root@gw1 ~]# iptables -t nat -A POSTROUTING -s 192.168.4.0/24 -o
eth1 -j SNAT –to-source 174.16.16.1(nat地址转换)
[root@gw1 ~]# vim /etc/sysctl.conf
net.ipv4.ip_forward = 1(开启路由转载)

Command  常用命令列表:

    导出到/etc/sysconfig/iptables

发布web,dns服务器
布署的重中之重策略:
在路由精选以前,针对从外网接口收到的
做客本机公网地址tcp 80端口的数据包
将其指标地址修改位于内网的web主机的ip地址
[root@gw1 ~]# iptables -t nat -A PREROUTING -i eth1 -d 174.16.16.1 -p
tcp –dport 80 -j DNAT –to-destination 192.168.4.2(允许公网访问)
[root@gw1 ~]# iptables -t nat -A PREROUTING -i eth1 -d 174.16.16.1 -p
udp –dport 53 -j DNAT –to-destination 192.168.4.2(发表dns服务地点)

 

    重启自动加载

发布ssh服务器
推行ssh -p 2345 174.16.16.1时,实际登陆192.168.4.2
[root@gw1 ~]# iptables -t nat -A PREROUTING -i eth1 -d 174.16.16.1 -p
tcp –dport 2345 -j DNAT –to-destination 192.168.4.2:22
ps:sshd访问响应慢的难题,sshd会尝试解析客户机的fqdn,设置了一个不可用的dsn
ssh会gss验证情势
修改客户端的/etc/ssh/ssh_config文件,禁用gss认证
GSSAPIAuthentication no(改为no)

-A :新增一条规则到某些规则链,暗许添加到链尾。

还原:

发布ftp服务器
注意事项:加载模块nf_nat_ftp,nf_conntrack_ftp
[root@gw1 ~]# modprobe -a nf_nat_ftp nf_conntrack_ftp
[root@gw1 ~]# iptables -t nat -A PREROUTING -i eth1 -d 174.16.16.1 -p
tcp –dport 20:21 -j DNAT –to-destination 192.168.4.2

-D:删除一条规则,可输入完整命令,也可输入规则编号

1)iptables-restore  <  文件名

iptables导出/导入规则
使用iptables-save导出
[root@gw1~]# ipables-save >
/root/myiptables.txt(把防火墙规则导入到自定义的公文夹)
使用iptables-restore导入
[root@gw1~]# iptables-restore < /root/myiptables.txt
开机后自行加载亿保存的规则
[root@gw1~]# iptables-save > /etc/sysconfig/iptables
[root@gw1~]# chkconfig iptables on

-PAJERO:取代现行规则,规则取代后不会改变各种

2)service  iptables restart

————————————————————————————————————————————————————————————————————

-I:插入一条规则,原本地点上的平整向后运动八个岗位

    从暗许文件/etc/sysconfig/iptables还原

防火墙脚本
shell脚本的编纂:
vim建立代码文件
利用变量
可进行语句的编辑【免交互】
添加x权限

-L:列出规则连中具有条条框框

五 、iptables脚本编写

针对linux网关编写脚本,提供SNAT共享上网策略
提供DNAT发表web,ftp服务的国策,编写网络型,主机型防护规则。

   iptables -t nat -L  列出nat 表中兼有规则

1)定义变量

批量设置防火墙规则
编写制定脚本文件——》开机时调用/etc/rc.local
防火墙规则的脚本化:
概念基本变量
必备时,内核模块和平运动行参数调整
防火墙策略设计:
各链的暗许规则
按表,链组织的切实规则
运作环境处理
变量及模块整理,
有利于脚本的尊崇,重用,移植
须要的作用模块预备

-F:删除规则

2)加载要求的模块

!/bin/bash

INET_IF=eth1
INET_IP=174.16.16.1
LAN_NET=192.168.4.0/24
LAN_WWW_IP=192.168.4.2
IPT=/sbin/iptables
… …
/sbin/modprobe -a nf_nat_ftp nf_conntrack_ftp
… …

长机型防火墙脚本
以filer表的INPUT链为主OUTPUT链次之
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT ACCEPT
… …
$IPT -P INPUT -p tcp –dport 8 -j ACCEPT
$IPT -P INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
… …

网络型防火墙脚本
以filter表的FOLacrosseW智跑D链为主,网关上会用到nat表
$IPT -t nat -A POSTROUTING -s $LAN_NET -o $INET_IF -j SNAT –to-source
$INET_IP
$IPT -t nat -A PREROUTING -i $INET_IF -d $INET_IP -p tcp –dport 80 -j
DNAT –to-destination $LAN_WWW_IP
$IPT -A FORWARD -d $LAN_NET -i $INET_IF -m state –state
ESTABLISHED,RELATED -j ACCEPT

  iptables -F input 删除filter中input链中负有条条框框

modprobe   ip_nat_ftp    
ftp地址转换模块

 

modprobe   ip_conntrack_ftp    
ftp连接意况跟踪

【match】

lsmod        查看已加载的模块

 常用封包匹配参数

3)调整基础参数:

-P:匹配磋商项目,也可加!反向匹配,使用all能够匹配全部

启用内核转载成效:有三种艺术(详见第⑨章笔记的第⑩点)

-S:用来匹配封包来源ip,-s 192.168.1.0/24 可用来合营二个段

4)编写防火墙的规则

-D:匹配封包的目标ip,同上。

六 、防火墙的品类:

-O:匹配数据包的出网卡。

主机型防火墙:针对本机举办有限辅助,使用filter表中的INPUT、OUTPUT链

–sport:匹配数据包的源端口,匹配二个范围可以设置成20:80

网络型防火墙:对内、外网转载实行维护,使用filter表中FOCRUISERWA本田CR-VD链

–dport:同上。

 

–tcp-flags:匹配tcp中的标志位

Iptables防火墙(SNAT和DNAT)应用示范

实验拓扑图:

澳门金沙国际 6

试行须要:

① 、  如图所示,将网络接入,注意在外部服务器上并非配置暗中同意网关。

澳门金沙国际 7

澳门金沙国际 8

澳门金沙国际 9

② 、分别在其花潮表面服务器上搭建web服务,修改网页,如

里头web服务器的网页内容:

echo   “192.168.1.10”  >
 /var/www/html/index.html 

在本机访问网页,测试能或不可能成功访问。

步骤:

在网站服务器运维httpd服务

Service  httpd 
start

在拜访主页写入内容

echo  192.168.1.10  > 
/var/www/html/index.html

在本机测试如下图:

澳门金沙国际 10

外网主机同上,测试结果如下图:

澳门金沙国际 11

三 、分别运转网站服务器和网关服务器的SSh,并把网关ssh服务端口改为2345。

步骤:

启动sshd服务: 
service sshd  restart

跻身网关服务器的ssh主配置文件vim
/etc/ssh/sshd_confing

澳门金沙国际 12

肆 、清空三台服务器的防火墙暗许配置:service  iptables    stop

伍 、  SNAT(源地址转换):须要内部主机192.168.1.10能访问外部服务器的网站。

注脚:在外表服务器通过查看web的访问日志。

步骤:

SNAT源地址转换命令如下:

澳门金沙国际 13

到网站服务器访问外网

澳门金沙国际 14

翻看外网的Web访问日志,是不是是200.0.0.1拜访

澳门金沙国际 15

六 、 DNAT(目的地方转换):

1)外部主机通过

在网关服务器上配备DANT

澳门金沙国际 16

表达可以访问

澳门金沙国际 17

2)外部主机使用ssh  –p 2345 
200.0.0.1 可以远程管理网关服务器。

澳门金沙国际 18

3)外部主机使用ssh  -p 2222 
200.0.0.1 能够远程管理内部192.168.1.10服务器。

在网关服务器配置DNAT

澳门金沙国际 19

到外网验证可以登录远程登录

澳门金沙国际 20

柒 、在网关服务器上对防火墙进行封存和备份。

保留防火墙规则:

澳门金沙国际 21

备份防火墙规则:iptables -save

澳门金沙国际 22

八 、在网关服务器上写3个防火墙的本子。完毕地点的职能。

   脚本提示:路由转载,清空全数防火墙规则,SNAT,DNAT。

   设置防火墙开机自动关闭,设置脚本开启自动执行。

剧本如下:

澳门金沙国际 23

安装脚本开机自运营只需将脚本路径写入/etc/rc.local

澳门金沙国际 24

文章参考微信公众号:L婴孩聊IT

 

【-j target/jump】

 常用的拍卖动作

   -j:用来钦赐处理动作

     ACCEPT :将数据包放行

     REJECT:拦阻数据包

    DROP:废弃数据包不予处理

澳门金沙国际 25

  实例:lan:1.1.1.1 wan:192.168.2.159
              内网主机:1.1.1.2
      内网中的1.1.1.2主机的22端口映射到公网地址192.168.2.159的88端口
     1,在nat表中的PREROUTING中添加一条
    iptables -t nat -A PREROUTING -d 192.168.2.159 -p tcp –dport 88 -j
DNAT –to 1.1.1.2:22
   若1.1.1.2主机的网关在做iptables的服务器上就能够了,倘诺不在
    2,要求在POSTROUTING的链中添加一条
  iptables -t nat -A POSTROUTING  -d 1.1.1.2 -p tcp –dport 22  -j SNAT
–to 1.1.1.1

SNAT一般用来到外网,出去 

SNAT的指标是进展源地址转换,应用于POSTROUTING规则链.在路由决定之后应用.SNAT与出站接口相关,而不是入站接口

DNAT用于从外边进入的

 指标地方NAT有2种方式: DNAT和REDIRECT.
REDIRECT是指标地址转换的出格格局,将数据包重定向到NAT设备的输入或回环接口.
指标地址NAT应用于nat表的PREROUTING和OUTPUT规则链,在做出路由决定前对目标地址进行修改.在PREROUTING中,DNAT和REDIRECT规则与用来接受通过本地路由转载或送到主机的入站接口的数据包的入站接口有关.在OUTPUT中,DNAT和REDIRECT规则用来处理来自NAT主机本身生成的出站数据包.

 

SNAT eg:

iptables -t nat -I POSTROUTING -s 10.1.0.0/24 -j SNAT –to-source
192.168.0.5

将内网10.1网段映射为192.168.0.5出来

也足以那样:

iptables -t nat -I POSTROUTING -s 10.1.0.0/24 -j SNAT –to-source
192.168.0.5-192.168.0.245

将地方映射到一段IP地址上(能够做攻击用^^)

上述例子的等同效力:iptables -t nat -I POSTROUTING -s 10.1.0.0/24 -j
NETMAP –to 192.168.0.0/24

 

DNAT eg:

iptables -t nat -A PREROUTING -d ROUTEIP -p tcp –dport 80 -j DNAT
–to-destination WEBIP

ROUTEIP代表防火墙(路由器)的公网IP 

WEBIP 代表内网WEB服务器IP

那条规则表示当外网访问当地的HTTP80端口时,自动转到内网的WEB服务器上。等于是把web服务器做了个映射到公网上。

当唯有必要从外网访问内网时,那样是十足了,

唯独借使须求从内网机器,通过WEB服务器的外网IP访问WEB服务器来说,还亟需加条SNAT规则:

 iptables -t nat -A POSTROUTING -p tcp -d WEBIP –dport 80 -j SNAT –to
ROUTEIP

将访问WEB服务器的数据包的源IP地址强制改为网关IP。不然会见世不能访问的标题。

 简单分析下原因:

 若是内网   192.168.0.10->必要从表面IP访问WEB的主机         

                  192.168.0.254->WEB服务器内部IP地址          

                 192.168.0.1->网关 (外部IP为202.96.22.22)

 当192.168.0.10访问202.96.22.22的WEB服务时,

据说网关上的DNAT,数据包的目标IP由202.96.22.22被转为192.168.0.254。254收取数额包后,发现是10出殡和埋葬过来的,

那正是说他会直接回数据包给192.168.0.10,不过10吸收包后察觉包的来源于不是团结想要的202.96.22.22,

那这一个包就会被一向丢掉。

化解办法正是在254不用一向发包给10,而是回到给网关,让网关原路再次来到给10机器。这样,只要将发往254请求WEB服务的数据包的源IP都改为网关的IP,192.168.0.1,就可以化解这一个题材。

iptables -t nat -A POSTROUTING -p tcp -d 192.168.0.254 –dport 80 -j
SNAT –to 192.168.0.1

 

一局域网192.168.1.0/24,

web服务器:192.168.1.10

ftp服务器:192.168.1.11

网关linux,

内网eth0,IP为192.168.1.1

外网eth1,IP为a.b.c.d

 

什么作NAT能使内外网都能访问集团的服务器?

A:# web

# 用DNAT作端口映射

iptables -t nat -A PREROUTING -d a.b.c.d -p tcp –dport 80 -j DNAT –to
192.168.1.10

# 用SNAT作源地址转换(关键),以使回应包能科学再次回到

iptables -t nat -A POSTROUTING -d 192.168.1.10 -p tcp –dport 80 -j SNAT
–to 192.168.1.1

澳门金沙国际, 

# 一些人平常忘了开拓FO宝马X5WA路虎极光D链的连带端口,特此扩展

iptables -A FORWARD -o eth0 -d 192.168.1.10 -p tcp –dport 80 -j ACCEPT

iptables -A FORWARD -i eth0 -s 192.168.1.10 -p tcp –sport 80 -m –state
ESTABLISHED -j ACCEPT

 

# ftp

modprobe ip_nat_ftp
###加载ip_nat_ftp模块(若没有编写翻译进基本),以使ftp能被正确NAT

modprobe ip_conntrack_ftp ###加载ip_conntrack_ftp模块

# 用DNAT作端口映射

iptables -t nat -A PREROUTING -d a.b.c.d -p tcp –dport 21 -j DNAT –to
192.168.1.11

iptables -A FORWARD -o eth0 -d 192.168.1.11 -p tcp –dport 21 -j ACCEPT

iptables -A FORWARD -i eth0 -s 192.168.1.11 -p tcp –sport 21 -m –state
ESTABLISHED -j ACCEPT

iptables -A FORWARD -i eth0 -s 192.168.1.11 -p tcp –sport 20 -m –state
ESTABLISHED,RELATED -j ACCEPT

iptables -A FORWARD -o eth0 -d 192.168.1.11 -p tcp –dport 20 -m –state
ESTABLISHED -j ACCEPT

iptables -A FORWARD -o eth0 -d 192.168.1.11 -p tcp –dport 1024: -m
–state ESTABLISHED,RELATED -j ACCEPT

iptables -A FORWARD -i eth0 -s 192.168.1.11 -p tcp –sport 1024: -m
–state ESTABLISHED -j ACCEPT

# 用SNAT作源地址转换(关键),以使回应包能科学重回

iptables -t nat -A POSTROUTING -d 192.168.1.11 -p tcp –dport 21 -i eth0
-j SNAT –to 192.168.1.1

 

 

 

详见参考:

 

相关文章