当前位置: 网站首页 > 万事博在线开户

Iptables防火墙(SNAT和DNAT)

2019-08-07来源:万事博国际

 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)应用示例

实验拓扑图:

实验要求:

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

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

在本机测试如下图:

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

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

步骤:

启动sshd服务:  service sshd  restart

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

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

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

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

步骤:

SNAT源地址转换命令如下:

到网站服务器访问外网

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

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

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

在网关服务器上配置DANT

验证可以访问

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

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

在网关服务器配置DNAT

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

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

保存防火墙规则:

备份防火墙规则:iptables -save

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

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

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

脚本如下:

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

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