1、SNAT:源地址调换

netfileter:防火墙内核态
ip tables:防火墙客商态(管理防火墙准绳)

贯彻内网访问外网,校正IP地址,使用POSTROUTING

iptables的表和链
表满含差别的链,链包罗大气的平整
4个表:
raw,mangle,nat,filter
5种链(一般在nat表里用):
INPUT(入站数据),OUTPUT(出站数据),FOENCOREWACR-VD(转载数量),
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 操作类型

2、MASQUERADE:地址伪装

大面积选项:
-A:在链的最后追加一条法规
-I:在链的初阶(或钦点序号)插入一条法则
-L:列出全数的平整条款
-n:以数字方式显得地址,端口等音信
–line-numbers:查看准则时,显示准则的序号
-D:删除链内钦定序号(或内容)的一条准绳
-F:清空全部的平整
-P:为钦赐的链设置暗中认可法则

适用于外网ip地址非固定的事态

规范化相配类型:
通用相称:独立运用
-p:钦点左券
-s:源地址
-d:目之处
-i:入站网卡
-o:出站网卡
带有相称:重视于某种通用相称
–sport:源端口
–dport:目的端口
–icmp-type:
–tcp-flags:
扩张相配:-m 模块名

将SNAT准绳改为MASQUERADE就可以

恢宏条件的格局
前提条件:有相应的防火墙模块援救
主题用法:
-m 扩张模块 –增加条件 条件值
示例:-m mac –mac-source 00:0C:29:74:BE:21

命令: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

3、DNAT:目的地址转变

——————————————————————————————————————————————————————————
nat表规范应用
SNAT源地址转变(Source Network Address Translation)
改进数据包的源地址
仅用于nat表的POSTROUTING链

贯彻发布公司里面服务器,校订指标地址,使用PREROUTING

DNAT指标地址转变(Destination Network Address Translation)
更正数据包目之处(ip,端口)
仅用于nat表的PREROUTING,OUTPUT链

命令: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地址卡塔尔

4、备份和恢复生机准绳:

地点伪装攻略
分享动态公网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

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

     导出到内定文件

[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(开启路由转载)

    导出到/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)

还原:

发布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

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

2)service  iptables restart

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

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

防火墙脚本
shell脚本的编排:
vim创设代码文件
采取变量
可实践语句的编排【免人机联作】
添加x权限

5、iptables脚本编写

本着linux网关编写脚本,提供SNAT分享上网战略
提供DNAT发表web,ftp服务的政策,编写网络型,主机型防护准绳。

1)定义变量

批量设置防火墙准则
编辑脚本文件——》开机时调用/etc/rc.local
防火墙准绳的脚本化:
概念基本变量
必备时,内核模块和平运动作参数调解
防火墙计谋设计:
各链的暗许法规
按表,链组织的生龙活虎法则
运营条件管理
变量及模块收拾,
惠及脚本的护卫,重用,移植
供给的作用模块预备

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表的FOCRUISERWEscortD链为主,网关上会用到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_www.512.net,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

modprobe   ip_nat_ftp    
ftp地址调换模块

modprobe   ip_conntrack_ftp    
ftp连接情况追踪

lsmod        查看已加载的模块

3)调治基本参数:

启用内核转载功能:有两种方法(详见第十章笔记的第8点)

4)编写防火墙的法规

6、防火墙的品类:

长机型防火墙:针对本机进行维护,使用filter表中的INPUT、OUTPUT链

网络型防火墙:对内、外网转发进行维护,使用filter表中FO途睿欧WALANDD链

 

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

试验拓扑图:

www.512.net 1

尝试必要:

1、  如图所示,将互连网连接,注意在表面服务器上不用配置暗中认可网关。

www.512.net 2

www.512.net 3

www.512.net 4

2、分别在其花潮外界服务器上搭建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

在本机测量试验如下图:

www.512.net 5

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

www.512.net 6

3、分别运行网址服务器和网关服务器的SSh,并把网关ssh服务端口改为2345。

步骤:

启动sshd服务: 
service sshd  restart

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

www.512.net 7

4、清空三台服务器的防火墙私下认可配置:service  iptables    stop

5、  SNAT(源地址转变):要求内部主机192.168.1.10能访谈外界服务器的网址。

评释:在表面服务器通过查看web的走访日志。

步骤:

SNAT源地址调换命令如下:

www.512.net 8

到网址服务器访谈外网

www.512.net 9

查阅外网的Web访谈日志,是还是不是是200.0.0.1拜谒

www.512.net 10

6、 DNAT(目标地方转变):

1)外部主机通过

在网关服务器上配备DANT

www.512.net 11

证实能够访谈

www.512.net 12

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

www.512.net 13

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

在网关服务器配置DNAT

www.512.net 14

到外网验证能够登陆远程登入

www.512.net 15

7、在网关服务器上对防火墙举办保存和备份。

保存防火墙法规:

www.512.net 16

备份防火墙法则:iptables -save

www.512.net 17

8、在网关服务器上写三个防火墙的台本。达成地点的效能。

   脚本提醒:路由转载,清空全体防火墙准绳,SNAT,DNAT。

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

本子如下:

www.512.net 18

设置脚本开机自运转只需将脚本路线写入/etc/rc.local

www.512.net 19

小说仿效Wechat民众号:L婴儿聊IT