欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Iptables防火墙(SNAT和DNAT)

程序员文章站 2022-06-24 20:55:25
1、SNAT:源地址转换 实现内网访问外网,修改IP地址,使用POSTROUTING 命令:iptables -t nat -A POSTROUTING -s 192.168.1.10/24 -j SNAT --to-source 202.1.1.1 2、MASQUERADE:地址伪装 适用于外网i ......

 1、SNAT:源地址转换

实现内网访问外网,修改IP地址,使用POSTROUTING

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

2、MASQUERADE:地址伪装

适用于外网ip地址非固定的情况

将SNAT规则改为MASQUERADE即可

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

3、DNAT:目标地址转换

实现发布公司内部服务器,修改目标地址,使用PREROUTING

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

4、备份和还原规则:

备份:

1)iptables-save  >  文件

     导出到指定文件

2)service  iptables save

    导出到/etc/sysconfig/iptables

    重启自动加载

还原:

1)iptables-restore  <  文件名

2)service  iptables restart

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

5、iptables脚本编写

1)定义变量

2)加载必要的模块

modprobe   ip_nat_ftp     ftp地址转换模块

modprobe   ip_conntrack_ftp     ftp连接状态跟踪

lsmod        查看已加载的模块

3)调整内核参数:

启用内核转发功能:有三种方式(详见第十章笔记的第8点)

4)编写防火墙的规则

6、防火墙的类型:

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

网络型防火墙:对内、外网转发进行保护,使用filter表中FORWARD链

 

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

实验拓扑图:

Iptables防火墙(SNAT和DNAT)

实验要求:

1、  如图所示,将网络连通,注意在外部服务器上不用配置默认网关。

Iptables防火墙(SNAT和DNAT)

Iptables防火墙(SNAT和DNAT)

Iptables防火墙(SNAT和DNAT)

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

在本机测试如下图:

Iptables防火墙(SNAT和DNAT)

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

Iptables防火墙(SNAT和DNAT)

3、分别启动网站服务器和网关服务器的SSh,并把网关ssh服务端口改为2345。

步骤:

启动sshd服务:  service sshd  restart

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

Iptables防火墙(SNAT和DNAT)

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

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

验证:在外部服务器通过查看web的访问日志。

步骤:

SNAT源地址转换命令如下:

Iptables防火墙(SNAT和DNAT)

到网站服务器访问外网

Iptables防火墙(SNAT和DNAT)

查看外网的Web访问日志,是否是200.0.0.1访问

Iptables防火墙(SNAT和DNAT)

6、 DNAT(目标地址转换):

1)外部主机通过http://200.0.0.1能够访问到内部服务器的网站。

在网关服务器上配置DANT

Iptables防火墙(SNAT和DNAT)

验证可以访问

Iptables防火墙(SNAT和DNAT)

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

Iptables防火墙(SNAT和DNAT)

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

在网关服务器配置DNAT

Iptables防火墙(SNAT和DNAT)

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

Iptables防火墙(SNAT和DNAT)

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

保存防火墙规则:

Iptables防火墙(SNAT和DNAT)

备份防火墙规则:iptables -save

Iptables防火墙(SNAT和DNAT)

8、在网关服务器上写一个防火墙的脚本。实现上面的功能。

   脚本提示:路由转发,清空所有防火墙规则,SNAT,DNAT。

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

脚本如下:

Iptables防火墙(SNAT和DNAT)

设置脚本开机自启动只需将脚本路径写入/etc/rc.local

Iptables防火墙(SNAT和DNAT)

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