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 ...
随机推荐
- mysql启动报错1067进程意外终止
查找了网上的很多种方法都没用,最终找到了我的mysql的安装路径,删除了my.ini配置文件,再重新启动就成功了!
- 167. 两数之和 II - 输入有序数组 + 哈希表 + 双指针
167. 两数之和 II - 输入有序数组 LeetCode_167 题目描述 方法一:暴力法(使用哈希表) class Solution { public int[] twoSum(int[] nu ...
- Kubernetes 实战 —— 02. 开始使用 Kubernetes 和 Docker
创建.运行及共享容器镜像 P23 运行容器 P24 运行 P24 可以运行 Docker 客户端可执行文件来执行各种 Docker 命令.例如:可以试着从 Docker Hub 的公共镜像仓库拉取.运 ...
- PHP配置 4. 虚拟主机配置open_basedir
将/usr/local/php/etc/php.ini中open_basedir注释掉,编辑虚拟主机配置open_basedir #vim /usr/local/apache2 .4/conf/ext ...
- MySQL入门(7)——表数据的增、删、改
MySQL入门(7)--表数据的增.删.改 插入数据 使用INSERT···VALUES语句插入数据 INSERT语句最常用的格式是INSERT···VALUES: INSERT [LOW_PRIOR ...
- MyBatis(十一):MyBatis架构流程浅析
架构分层 我们将MyBatis架构分为三层,分别为接口层.数据处理层和框架支撑层 接口层:提供外部接口调用的API,使用端通过这些API来操作数据库,接口层收到请求后会调用数据处理层完成具体的数据处理 ...
- Django的路由控制
一.Django中路由到作用 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于客户端发来 ...
- Linux入门视频笔记四(vim入门)
一.vim的基本介绍(纯命令模式编辑器) 1.vim的两种模式:命令模式(不能输入任何东西).编辑模式(按i进入编辑模式) 2.ESC:从编辑模式退出到命令模式 3.保存: ①:wq code.c(如 ...
- PTA 单链表分段逆转
6-9 单链表分段逆转 (25 分) 给定一个带头结点的单链表和一个整数K,要求你将链表中的每K个结点做一次逆转.例如给定单链表 1→2→3→4→5→6 和 K=3,你需要将链表改造成 3→2→1 ...
- 前端嫌弃原生Swagger界面太low,于是我给她开通了超级VIP
缘由 接口文档想必是许多开发小伙伴的噩梦,不仅要写详细,还要及时维护文档与后端代码保持一致,稍有没及时更新接口文档,前端同学肯定会抱怨后端同学给的文档与实际情况不一致. 于是,引入了Swagger组件 ...