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(gh_b0e552aa80db)

原文发表时间:2018-03-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏雨过天晴

转 Mac OS/Linux命令查询网络端口占用情况

1113
来自专栏游戏杂谈

socket.io在IE8下的一个bug

它判断浏览器是否支持XDomainRequest,而并未在后台返回的头加上"Access-Control-Allow-Origin","*"。详见这里>>

973
来自专栏java闲聊

多个Mysql安装

1655
来自专栏陈树义

Windows下Nginx的安装与使用(一):配置端口转发

什么是端口转发 当我们在服务器上搭建一个图书以及一个电影的应用,其中图书应用启动了 8001 端口,电影应用启动了 8002 端口。此时如果我们可以通过: lo...

3747
来自专栏无所事事者爱嘲笑

elment ui 图片上传遇到的一些问题

1596
来自专栏difcareer的技术笔记

Android boot.img的解包/修改/重打包

最近研究对了Android的boot.img的操作,将一些繁琐的东西整理了一下,发到了github:https://github.com/difcareer/B...

1165
来自专栏小白安全

端口转发----lcx.exe

什么情况下需要端口转发: Web服务器在内网中,远程桌面无法连接,因此需要进行端口转发。 内网IP的80端口通过端口映射到外网IP的80端口上, ...

3199
来自专栏闵开慧

eclipse启动时和开发时优化

1 eclipse.ini参数优化 -startup plugins/org.eclipse.equinox.launcher_1.3.201.v201610...

3697
来自专栏代码世界

PyMySQL模块的使用

PyMySQL介绍   PyMySQL是在Python3.x版本中用于连接MySQL服务器的一个库,Python2系列中则使用mysqldb。Django中也可...

2727
来自专栏java闲聊

Error response from daemon: dial tcp: lookup index.docker.io on : i/o timeout

ps:有时候docker重启会恢复这个网络配置,留意下(在新版本中第二种方法会不奏效,推送的更新谨慎升级)

843

扫码关注云+社区