Iptables防火墙实验
先说明一下环境,这里有四台主机,中间的Centos充当防火墙。右上角的win XP和右下角的Rhel7充当服务器,最左边的win7充当主机。四者之间的网卡都已经配置好。而且我们已经在Centos6.5上开启了端口转发功能。
- echo 1 > /proc/sys/net/ipv4/ip_forward (临时开启)
- sysctl -w net.ipv4.ip_forward=1 (临时开启)
- vim /etc/sysctl.conf , 将net.ipv4.ip_forward=0 改为 =1,然后 sysctl -p /etc/sysctl.conf 使之生效 (永久开启IP转发)
防火墙开启了IP转发功能后,然后清空iptables里面的所有规则,放行所有。win7、winXP、Rhel7都把防火墙给关了,然后四者之间就可以相互通信了。
配置防火墙使之禁止访问 ftp 服务
我们在win xp上开启ftp服务,通过win7 和 Rhel7 可以 ftp WinXP。
现在我们要配置防火墙,使之禁止FTP服务的流量经过。因为Win7要想FTP访问WinXP,流量先经过防火墙,然后再由防火墙转发。所以我们对防火墙的 filter 表的 FORWARD 链进行配置,使之拒绝FTP流量经过
iptables -t filter -A FORWARD -p tcp --dport 21 -j DROP
可以看到,filter表中的FORWARD链已经加了一条拒绝TCP的21号端口通过的 规则了。然后我们再从Win7 FTP WinXP,可以看到,已经不能FTP了。
配置防火墙使得指定网段的才可以访问FTP服务
我们在防火墙上配置,使得Rhel7的才可以访问FTP服务,而Win7不能访问FTP服务。
iptables -t filter -A FORWARD -s 10.0.0.2 -p tcp --dport 21 -j ACCEPT //filter表的FORWARD链允许源地址10.0.0.2的主机,目的端口21号的流量
iptables -t filter -A FORWARD -s 192.168.1.2 -p tcp --dport 21 -j DROP //filter表的FORWAARD链拒绝源地址192.168.1.2的主句,目的端口21号的流量
可以看到,filter表中的FORWARD链默认拒绝所有流量经过,放行源地址分别为10.0.0.0/24和20.0.0.0/24的ftp服务。
禁止PING
在防火墙上配置丢弃 icmp 协议的 request 包,也就是icmp-type为8的包
iptables -A FORWARD -p icmp --icmp-type 8 -j DROP
可以看到,已经ping不通了,Windows系统显示请求超时,而Linux系统则发不出去包
而当我们配置的是拒绝icmp协议的包通过
iptables -A FORWARD -p icmp --icmp-type 8 -j REJECT
拒绝的话,windows系统和Linux系统都是显示目标端口不可达。
按网段禁止Ping
配置防火墙,丢弃192.168.1.0/24网段的icmp请求包,允许10.0.0.0/24网段的icmp请求包
iptables -A FORWARD -s 192.168.1.0/24 -p icmp --icmp-type 8 -j DROP
iptables -A FORWARD -s 10.0.0.0/24 -p icmp --icmp-type 8 -j ACCEPT
可以看到,Win7已经不能ping了,而Rhel7可以ping
禁止Telnet服务
其他的和上面的一模一样,只是过滤规则的端口改了
iptables -A FORWARD -p tcp --dport 23 -j DROP
按网段禁止Telnet服务
iptables -A FORWARD -s 192.168.1.0/24 -p tcp --dport 23 -j DROP
iptables -A FORWARD -s 20.0.0.0/24 -p tcp --dport 24 -j ACCEPT
Iptables防火墙实验的更多相关文章
- Iptables防火墙(SNAT和DNAT)
1.SNAT:源地址转换 实现内网访问外网,修改IP地址,使用POSTROUTING 命令:iptables -t nat -A POSTROUTING -s 192.168.1.10/2 ...
- centos6.5下系统编译定制iptables防火墙扩展layer7应用层访问控制功能及应用限制QQ2016上网
iptables防火墙扩展之layer7应用层访问控制 概述: iptables防火墙是工作在网络层,针对TCP/IP数据包实施过滤和限制,属于典型的包过滤防火墙.以基于网络层的数据包过滤机制为主,同 ...
- 2-10~2-11 配置iptables防火墙增强服务 selinux简单讲解
学习一个服务的过程: 1.此服务器的概述:名字,功能,特点,端口号 2.安装 3.配置文件的位置 4.服务启动关闭脚本,查看端口 5.此服务的使用方法 6.修改配置文件,实战举例 7.排错(从下到上, ...
- 四十七.iptables防火墙 filter表控制 扩展匹配 nat表典型应用
1.iptables基本管理 关闭firewalld,开启iptables服务 查看防火墙规则 追加.插入防火墙规则 删除.清空防火墙规则 1.1 关闭firewalld,启动iptables服务 ...
- iptables防火墙入门
一.iptables基本管理 iptables运行前提:关闭firewalld防火墙再开启iptables,不然造成冲突. 基本指令: 1.部署iptables服务 yum –y install ip ...
- iptables 防火墙(上)
iptables 防火墙(上) 1. 防火墙概述 1.1 概念与作用 网络中的防火墙是一种将内部网络和外部网络分开的方法,是一种隔离技术.防火墙在内网与外网通信时进行访问控制,依据所设置的规则对数据包 ...
- 深入理解iptables防火墙
0x00 Linux 安全性和 netfilter/iptables Linux 因其健壮性.可靠性.灵活性以及好象无限范围的可定制性而在 IT 业界变得非常受欢迎.Linux 具有许多内置的能力, ...
- CentOS系统配置 iptables防火墙
阿里云CentOS系统配置iptables防火墙 虽说阿里云推出了云盾服务,但是自己再加一层防火墙总归是更安全些,下面是我在阿里云vps上配置防火墙的过程,目前只配置INPUT.OUTPUT和FO ...
- 关闭SELinux和iptables防火墙
1.关闭SELinux: 编辑SELinux配置文件: [root@Redis selinux]# vim /etc/selinux/config 修改SELINUX配置项为disable SELIN ...
随机推荐
- 话说 wait、notify 、 notifyAll
一.前言 说起java的线程之间的通信,难免会想起它,他就是 wait .notify.notifyAll 他们三个都是Object类的方法, 受到 final 和 native 加持 ,也就造就了他 ...
- 用实战玩转pandas数据分析(一)——用户消费行为分析(python)
CD商品订单数据的分析总结.根据订单数据(用户的消费记录),从时间维度和用户维度,分析该网站用户的消费行为.通过此案例,总结订单数据的一些共性,能通过用户的消费记录挖掘出对业务有用的信息.对其他产 ...
- 2018.9.9 nowcoder 普及组第一场
2018.9.9 nowcoder 普及组第一场 C-括号 题目大意:一个只包含左右括号的字符串\(S\),希望删掉S中若干个字符,使得剩下的字符串是一个合法的括号串,有多少不同的方案. Soluti ...
- Java内存区域略解
概览 分述 程序计数器 用于记录该线程的执行位置,便于跳转或者线程中断后的恢复 方法区 Java虚拟机规范中把 原本用于存储常量,静态变量和类的元信息,但java1.7将字符串常量移到了堆中,java ...
- Java工程师核心书单推荐
随便打开一个招聘网站,看看对高级Java工程师的技能要求. 抛开其它的经验能力等等,单纯从技术,或者说知识上来讲,可以发现一些共通的地方. Java基础 计算机基础 数据库,SQL/NoSQL 常用开 ...
- Ajax数据爬取--爬取微博
Ajax Ajax,即异步的JaveScript和XML.它不是一门编程语言,而是利用JaveScript在保证页面不被刷新,页面链接不改变的情况下与服务器交换数据并更新部分网页的技术. 对于传统的网 ...
- EntityFrameworkCore之工作单元的封装
1. 简介 2. DbContext 生命周期和使用规范 2.1. 生命周期 2.2. 使用规范 2.3. 避免 DbContext 线程处理问题 3. 封装-工作单元 3.1. 分析 3.2. 设计 ...
- 【Azure 应用服务】App Service 在使用GIt本地部署,上传代码的路径为/home/site/repository,而不是站点的根目录/home/site/wwwroot。 这个是因为什么?
问题描述 App Service 在使用GIt本地部署,上传代码的路径为/home/site/repository,而不是站点的根目录/home/site/wwwroot. 这个是因为什么? 并且通过 ...
- 全网最详细的Linux命令系列-cp命令
cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一.一般情况下,shell会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i参数.但是如果是 ...
- @PostConstruct 使用记录
@PostConstruct 从Java EE5规范开始,Servlet增加了两个影响Servlet生命周期的注解(Annotation):@PostConstruct和@PreConstruct.这 ...