iptables实验2

IPTABLES   实验2

 

 

 

实验大体结构图

 

blob.png

 

 

相关概念及公式

源地址转换:    SNAT   POSTROUTING

目标地址转换:DNAT  PREROUTING

 

每次重启网络后我们都得首先打开连接转发功能,echo 1> /proc/sys/net/ipv4/ip_forward

 

注意此实验 NODE1NODE2eh1位于同一个虚拟网络VMNET0

NODE2eth0NODE3是桥接方式连接,

也就是可以认为NODE3是外网

NODE1是内网。

 

NODE1 : IP :   192.168.42.3

 

 blob.png

 

 

NODE2: 都是作为网关接口来设定的,这样看起来比较简便,实际中肯定不会这样了。

 

blob.png

 

NODE3:  当然就是配置10.1.0.0网段的网址啦。

 blob.png

 

我们启动NODE1HTTPD服务并编辑相应的网页文件即可。

blob.png

继续启动外网NODE3HTTPD 服务

blob.png 

以上环境搭好,让我们来测试下NODE1…NODE3之间能不能通过NODE2  相互联通。

 

NODE1 ———> NODE3

 

blob.png

 

NODE3———->NODE1

 blob.png

 

 

好了能互相PING通说明设置成功,那我们的外网主机NODE3也能获取NODE1的网页文件

blob.png

 

NOD1 能获取NODE3的网页文件

 blob.png

那么让我们接下来设置NODE2的转发防火墙。

 

1.首先打开连接转发功能,echo 1> /proc/sys/net/ipv4/ip_forward

 

2.设置放行所有状态为ESTABLISHED ,RALETEDTCP协议的链接。

NODE2首先开启FTP协议的连接追踪功能

 

 

modprobe       nf_conntrack_ftp

 

添加转发的默认规则

iptables   -A FORWARD    -j  DROP

 

这样我们的内外网的转发功能就被禁掉了,这里列出结果。

blob.png

 

blob.png

                                                                                                                                                  

现在我们让内网服务器能访问外网

iptables -I FORWARD  -s 192.168.42.0/24  -p tcp   –dport  80     -j ACCEPT

 

blob.png

 

当然我们这里是tcp协议,icmp协议当然还是不通了!!

blob.png

内网还是不能出去,这是因为之开放了出去的,响应报文进不来也没用!!

 

那我们接下来开放响应报文

 

iptables  -I   FORWARD 2  -d 192.168.42.0/24   -p tcp    –sport 80   -j   ACCEPT

 

这里我们内网对外网的访问就没有问题了!

 blob.png

Iptables    -vnL

这个就是我们当前的防火墙的总规则

blob.png

 

接下来让我们删除第二条规则,根据状态来做追踪

iptables  -D FOREWARD 2

我们加入根据状态来放行的转发规则,这样我们只要定义请求规则就可以了;

iptables -I FORWARD  -m state –state RELATED,ESTABLISHED -j ACCEPT

 

现在我们内网的主机想用ssh连接到外网怎么办?

很简单我们把第二条规则改下就可以了,我们只放行内网链接状态为NEW的连接!

我们在NEW方向加了状态

iptables -R FORWARD 2 -s 192.168.42.0/24 -p tcp -m multiport  –dports 80,21,22,23,139,445 -m state –state NEW -j ACCEPT

 blob.png

这就是改动后的规则

这里的内网对外网curlssh远程登陆都没有问题

这里的ssh可能会稍微时间长点因为每个包都得经过FORWARD 链进行过滤,所以速度当然就慢点了,台式机可能会快点。

 

blob.png

  

 blob.png

这里我们启动NODE3smbvsftpd服务,telnet服务看看NODE1上面什么反应!

 

blob.png

 

 blob.png

这里我们从NODE1上进行访问NODE3samba服务

 

blob.png

 

接下来我们测试下NODE1连接NODE3ftp服务有没有问题

blob.png

这里看出也是没有任何问题的!!!

 

 

注意:以后我们工作时在修改IPTABLES时定义一个自动20分钟运行的守护进程,让其清空防火墙,这样就能避免我们添加防火墙失败的问题,添加成功我们就删除这个自定义脚本;

原创文章,作者:sjfbjs,如若转载,请注明出处:http://www.178linux.com/53567

(0)
sjfbjssjfbjs
上一篇 2016-10-24 09:09
下一篇 2016-10-24 09:09

相关推荐

  • httpd配置

    httpd配置 修改监听的IP和端口(port) 持久连接 MPM DSO(Dynamic Shared Object) main server的文档页面路径 站点访问控制 定义站点主页面 定义路径别名 设定默认字符集 日志 基于用户的访问控制 虚拟主机 httpd状态页面 使用压缩模块mod_daflate优化速度 基于IP 为每个虚拟主机至少准备一个IP…

    Linux干货 2016-12-21
  • 第四周博客作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 ~]# cp -r /etc/skel /home/tuser1 ]# chmod -R 700 /home/tuser1/ 2、编辑/etc/group文件,添加组hadoop ~]# echo "hadoop:…

    Linux干货 2016-12-14
  • 计算机的组成及其功能

    计算机由五大组成部分 运算器 运算器主要负责数据的算术运算或者逻辑运算 控制器 控制器负责调度系统指令 存储器 存储数据的地方,如硬盘和内存 输入设备和输出设备 主要用于人机交互,如键盘、鼠标,显示器

    2018-03-04
  • 第一周博客作业

    1、描述计算机的组成及其功能。
    2、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。
    3、描述Linux的哲学思想,并按照自己的理解对其进行解释性描述。
    4、说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述。
    5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的。
    6、请罗列Linux发行版的基础目录名称命名法则及功用规定

    Linux干货 2018-03-13
  • Nginx基本使用方法及各模块基本功能

    一、Nginx介绍     Nginx是由俄罗斯软件工程师Igor Sysoev开发的一个高性能的HTTP和反向代理服务器,具备IMAP/POP3和SMTP服务器功能,Nginx最大的特点是对高并发的支持和高效的负载均衡,在高并发的需求场景下,是Apache服务器不错的替代品。目前,包括新浪、腾讯等知名网站都已使用Nginx作为Web应用…

    Linux干货 2016-01-21
  • Linux磁盘及文件系统管理

    磁盘(Hard Disk Drive,简称HDD)是一种存储介质,传统的机械硬盘由一个或多个铝制或玻璃制的碟片组成,碟片外覆盖有铁磁性材料。 磁盘的物理结构一般由磁头与碟片、电动机、主控芯片与排线等部件组成;当主电动机带动碟片旋转时,副电动机带动一组(磁头)到相对应的碟片上并确定读取正面还是反面的碟面,磁头悬浮在碟面上画出一个与碟片同心的圆形轨道(磁轨或称柱…

    Linux干货 2015-04-20