什么是DOS
DOS(Disk Operating System)是一个使用的十分广泛的磁盘操作系统,连当前流行的Windows9x/ME系统都是以它为基础
常见的DOS有两种:IBM公司的PC-DOS和微软公司的MS-DOS,它们的功能、命令用途都相同,我们常用的是MS-DOS
CMD介绍
cmd.exe是windows系统的命令解释程序,类似于微软的DOS操作系统
cmd.exe是一个32位的命令行程序
运行在Windows NT/2000/XP/2003/Vista/win7上
打开方式:运行→输入“cmd”→确定
功能: 查询本机IP地址
相关命令:
命令 | 说明 |
---|---|
ipconfig /release | 释放本机现有IP |
ipconfig /renew | 向DHCP服务器重新获取IP |
opconfig /all | 显示完整的IP信息 |
功能: 查看本机账号情况
相关命令:
命令 | 说明 |
---|---|
net user 账号名 密码 /add | 添加一个新用户 |
net user 账号名 /del | 删除用户 |
net user 账号名 | 查看置顶用户的详细情况 |
功能: 查看本地用户组
命令:
net localgroup 组名 用户名 /add //将用户加入组
功能: 检查网络是否通常或者网或连接速度的命令
命令:
ping [-tln]目标IP
参数:
参数 | 说明 |
---|---|
-t | 不间断向目标IP发送数据包 |
-n | 定义向目标主机发送数据包的次数 |
-l | 定义发送数据包的大小 |
功能: 查看网络状态
命令:
命令 | 说明 |
---|---|
netstat -a | 查看本地及其开放端口 |
netstat -r | 列出当前的路由信息 |
netstat -n | 不对名字进行解析 |
功能: 显示指定路径上所有文件或目录信息
命令:
dir [盘符][路径]
功能: 建立目录
命令:
mkdir [盘符][路径] 目录名
功能: 删除目录
命令:
rmdir [盘符][路径] 目录名
功能: 进入指定目录
命令:
cd 路径
相关命令:
命令 | 说明 |
---|---|
cd \ | 返货到根目录 |
cd … | 回到上一层目录 |
功能: 拷贝文件
命令:
copy 源目录或文件 目的目录或文件
功能: 删除文件
命令:
del [盘符][路径][参数] 文件名
功能: 改名
命令:
ren 原名 现名
功能: 查看文本文件
命令:
type 文件名
IIS是一种Web(网页)服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包括互联网和局域网)上发布信息是一件很容易的事
IIS通过使用百超文本传输协议(HTTP)传输信息
DNS(Domain Name System)是“域名系统”的英文缩写,是一种组织成域层次结构的计算机和网络服务明明系统
使用的是UDP协议的53号端口,它用于TCP/IP网络,所提供的服务是用来将主机名或域名转换为IP地址的工作
DHCP服务器即动态主句配置协议,它是一种服务器-多客户端技术
允许DHCP服务器将IP地址分配给作为DHCP客户端启用的计算机和其他设备
安全策略是按一定规则检查数据流是否可以通过防火墙的基本安全控制机制
规则的本质是: 包过滤
入数据流→查找防火墙安全策略→根据安全策略进行包处理
根据定义的规则对经过防火墙的流量进行筛选,并根据关键字确定筛选出的流量如何进行下一步操作
做一个防火墙策略,要求指定IP才能访问到服务器,屏蔽其他无关IP用户访问
配置更快速,一旦熟练掌握了如何使用netsh advfirewall,就可以快速的配置防火墙
可以编写脚本,使用这个工具你可以对一些常用的功能编写脚本
图形化界面不可用时依然可以配置防火墙
使用这个命令可以增加新的入站和出站规则到防火墙中,也可以修改防火墙中的规则
命令 | 说明 |
---|---|
Add | 增加入站和出站规则 |
Delete | 删除一条规则 |
Set | 为现有规则的属性设置新值 |
Show | 显示一个指定的防火墙规则 |
例:
增加本地的TCP的3389端口对外开放:
netsh advfirewall firewall add rule name=icqtest dir=in action=allow protocol=tcp localport=3389
删除前面添加的规则
netsh advfirewall firewall delete rule name=icqtest protocol=tcp localport=3389
在CentOS 7里有几种防火墙共存:firewalld、iptables、ebtables
默认使用firewalld来管理netfilter子系统,不过底层调用的命令仍是iptables等
firewalld | iptables | |
---|---|---|
特点 | 基于区域 | 基于接口 |
配置文件 | /usr/lib/firewalld/ /etc/firewalld/ | /etc/sysconfig/iptables |
对规则的修改 | 不需要刷新全部规则 不丢失现有连接 | 需要刷新全部规则 丢失现有连接 |
防火墙类型 | 动态防火墙 | 静态防火墙 |
firewalld将网卡对应到不同的区域(zone),znoe默认有9个
区域 | 说明 |
---|---|
阻塞区域(block) | 任何传入的网络数据包都将被阻止 |
工作区域(work) | 可以基本信任网络内的其他计算机不会危害你的计算机,仅接收经过选择的连接 |
家庭区域(home) | 用于家庭网络,可以基本信任网络内的其他计算机不会危害你的计算机,仅接收经过选择的连接 |
公共区域(public) | 不相信网络上的任何计算机,只有选择接收传入的网络连接 |
隔离区域(DMZ) | 隔离区域也称为非军事区域,内外网络之间增加一层网络,起到缓冲作用,对于隔离区域,只有选择接收传入的网络连接 |
信任区域(trusted) | 所有网络连接都可以接受 |
丢弃区域(drop) | 任何传入的网络连接都被拒绝 |
内部区域(internal) | 用于内部网络,可以基本信任网络内的其他计算机不会危害你的计算机,仅接收经过选择的连接 |
外部区域(external) | 不能信任来着网络的其它计算机,不能信任其它计算机不会对你的计算机造成危害,只能接收经过选择的连接 |
注: Firewalld的默认区域是public
Firewalld的配置方法主要有三种:firewall-config/firewall-cmd和直接编辑xml文件
命令 | 说明 |
---|---|
firewall-cmd --state | 查看防护墙的状态 |
--get-active-zones | 显示正在使用区域与网卡名称 |
--get -default-zone | 查询默认的区域名称 |
--get zones | 显示可用的区域 |
--get-services | 显示预先定义的服务 |
--list-all-zones | 显示当前区域的网卡配置参数,资源,端口以及服务等信息 |
--set-default-zone={区域名称} | 更改默认的区域使其永久生效 |
--add-source= | 将源自此IP或子网的流量导向某个指定的区域 |
--remove-source= | 不再将源自此IP或子网的流量导向某个指定的区域 |
--add-service={服务名} | 设置默认区域允许该服务的流量 |
--add-port={端口号/协议} | 设置默认区域允许该端口的流量 |
--remove-service={服务名} | 设置默认区域不再允许该服务的流量 |
--remove-port={端口号/协议} | 设置默认区域不再允许该端口的流量 |
--reload | 重新加载,并覆盖当前配置原则 |
--panic-on | 开启应急状况模式 |
--panic-off | 关闭应急状况模式 |
--permanent | 永久设置 |
例:
允许或禁用1234端口的TCP流量
firewall-cmd --zone=public --add-port=1234/tcp --permanent //允许1234端口的流量
firewall-cmd --zone=public --remove-port=1234/tcp --permanent //禁止1234端口的流量
批量开放端口
firewall-cmd --zone=public --add-port=100-500/tcp --permanent
启用或禁用HTTP服务
firewall-cmd --zone=public --add-service=http --permanent //永久允许http服务的流量
firewall-cmd --zone=public --remove-service=http --permanent //永久禁止http服务的流量
可以直接修改xml文件
用户配置目录有:
/etc/firewalld/
/etc/firewalld/services
/etc/firewalld/zones
注意: 更改完xml文件后,要使用firewall-cmd --reload命令重新进行加载
iptables和firewalld一样不是真正的防火墙,我们可以将它理解成一个客户端代理,通过这个代理,我们将安全的设定执行到对应的“安全框架”中,这个“安全框架”才是真正的防火墙,即netfilter。
iptables是按照规则,即完了管理员与定义的条件和方法,来处理数据包,如:通过(accept)、丢弃(drop)等
iptables→Tables→Chains→Rules,即tables由chains组成,二chans由rules组成
表名 | 说明 | 涉及到的链 |
---|---|---|
raw表 | 流量跟踪 | PREROUTING、OUTPUT |
mangle表 | 流量整形 | PREROUTING、INPUT、FOWRWARD、OUTPUT、POSTROUTING |
nat表 | 网络地址转换 | PREROUTING、POSTROUTING、OUTPUT |
filter表 | 过滤表规则,ipables的默认表 | INPUT、FOWRWARD、OUTPUT |
表的作用: 容纳各种规则链
规则表之间的顺序: raw→mangle→nat→filter
链名 | 说明 |
---|---|
input | 入站数据过滤 |
output | 出站数据过滤 |
forward | 转发数据过滤 |
prerouting | 路由前过滤 |
postrouting | 路由后过滤 |
链的作用: 容纳各种防火墙规则
链的分类依据: 处理数据包的不同时机
如图为Linux防火墙的过滤框架,从图中可以看出,如果是外部主机发送数据包给防火墙本机,数据将会经过PREROUTING链和INPUT链;如果是防火墙本机发送数据包到外部主机,数据会经过OUTPUT链与POSTROUTING链;如果防火墙作为路由负责转发数据,则数据将经过PREROUTING链、FOWRWARD链以及POSTROUTING链
iptables [-t 表名] 选项 [链名] [条件] [-j 控制类型]
-j:数据包的常见控制类型
参数 | 说明 |
---|---|
ACCEPT | 允许通过 |
REJECT | 拒绝通过,必要时会给出提示 |
DROP | 直接丢弃,不给出任何回应 |
LOG | 记录日志信息,然后传给下一条规则继续匹配 |
-p:指定协议类型:tcp、udp、icmp
-m:表示启用拓展功能,一般和-p配合使用
注意:
a. 不指定表名时,默认指filter表
b. 不指定链名时,默认指表内的所有链
c. 除非设置链的默认策略,否则必须指定匹配条件
d. 选项、链名、控制类型使用大写字母,其余均为小写字母
参数 | 说明 |
---|---|
-A | 在链的末尾追加一条规则 |
-I | 在链的开头,或指定序号,插入一条规则 |
-d | 指定IP地址 |
--dport | 知道目的端口 |
参数 | 说明 |
---|---|
-L | 列出所有的规则条目 |
-n | 艺术字形式显示地址、端口等信息 |
-I | 以更详细的方式显示规则信息 |
--line-numbers | 查看规则时,吸纳是规则的序号 |
参数 | 说明 |
---|---|
-D | 删除链内指定序号(或内容)的一条规则 |
-F | 清空所有的规则 |