第三周作业
"12. 基于acl实现智能DNS"
#智能DNS相关技术
ACL:把一个或多个地址归并为一个集合,并通过一个统一的名称调用
注意:只能先定义后使用;因此一般定义在配置文件中,处于options的前面
格式:
acl acl_name {
ip1.../24;
ip2.../24;
……
};
-------------------------------------------------------
#实战案例:利用view实现智能DNS
环境要求:
--------------------------
需要五台主机:
DNS主服务器和web服务器1:10.0.0.8/24,172.16.0.8/16
web服务器2:10.0.0.7/24
web服务器3:172.16.0.7/16
DNS客户端1:10.0.0.6/24
DNS客户端2:172.16.0.6/16
此环境请参考文档==>14域名系统DNS服务--第42页
----------------------------
#主域定义"区域"数据文件
--10.0.0.101主机
cd /var/named/
cp -p magedu.org.zone magedu.org.zone.bj
cp -p magedu.org.zone magedu.org.zone.sh
vim magedu.org.zone.bj --添加北京的数据文件
---------------------------------------
$TTL 1D
@ IN SOA master admin.magedu.org. ( 20230324 180 10M 1D 6H)
NS master
master A 10.0.0.101
www A 1.1.1.1
---------------------------------------
vim magedu.org.zone.sh --添加上海的数据文件
---------------------------------------
$TTL 1D
@ IN SOA master admin.magedu.org. ( 20230324 180 10M 1D 6H)
NS master
master A 10.0.0.101
www A 2.2.2.2
---------------------------------------
#ACL-定义就近"访问的网络段ip地址"
--10.0.0.101主机
vim /etc/named.conf --限定区域网段
---------------------------------------
acl beijingnet {
10.0.0.0/24;
11.0.0.0/24;
};
acl shanghainet {
192.168.10.0/24;
192.168.20.0/24;
};
--------------------------------------
vim /etc/named.conf --剪切至/etc/named.rfc1912.zones
--------------------------------------
zone "." IN { --acl规则不需要在全局中,在子配置中即可
type hint;
file "named.ca";
};
---------------------------------------
vim /etc/named.rfc1912.zones --粘贴至子配置
---------------------------------------
zone "." IN {
type hint;
file "named.ca";
};
---------------------------------------
cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.zones.bj
cp -p /etc/named.rfc1912.zones /etc/named.rfc1912.zones.sh
vim /etc/named.rfc1912.zones.bj
---------------------------------------
zone "magedu.org" { --添加北京区域的子配置
type master;
file "magedu.org.zone.bj";
};
---------------------------------------
vim /etc/named.rfc1912.zones.sh
---------------------------------------
zone "magedu.org" { --添加上海区域的子配置
type master;
file "magedu.org.zone.sh";
};
---------------------------------------
---------------------------------------
#view-绑定"区域"数据文件至"ACL"
--10.0.0.101主机
vim /etc/named.conf
------------------------------------------------------
// listen-on port 53 { 127.0.0.1; }; --注释行
//allow-query { localhost; }; --注释行
//include "/etc/named.rfc1912.zones"; --删除行
view beijingview {
match-clients { beijingnet; };
include "/etc/named.rfc1912.zones.bj";
};
view shanghainet {
match-clients { shanghainet; };
include "/etc/named.rfc1912.zones.sh";
};
------------------------------------------------------
named-checkconf --语法检查
rndc reload
在vmware中 10.0.0.101主机添加网卡2 (为仅主机模式)
在vmware中全局模式中--编辑--虚拟网络编辑器--vmnet1(仅主机)--更改设置(默认网段为:192.168.10.0/24)
,要不然在acl 中定义的网络段不可用!
ip a --查看是否添加新网卡(192.168.10.128)
reboot --省去网卡配置
--10.0.0.20主机中测试
dig www.magedu.org @192.168.10.128 --解析上海区域段的DNS
www.magedu.org. 86400 IN A 2.2.2.2
dig www.magedu.org @10.0.0.101 --解析北京区域段的DNS
www.magedu.org. 86400 IN A 1.1.1.1"13. 总结防火墙分类"防火墙的分类:
按保护范围划分:
主机防火墙:服务范围为当前一台主机
网络防火墙:服务范围为防火墙一侧的局域网
按实现方式划分:
硬件防火墙:在专用硬件级别实现部分功能的防火墙;另一个部分功能基于软件实现,如:华为,
,山石hillstone,天融信,启明星辰,绿盟,深信服, PaloAlto , fortinet飞塔, Cisco, Checkpoint,
,NetScreen(2004年被 Juniper 用40亿美元收购)等
软件防火墙:运行于通用硬件平台之上的防火墙的应用软件,Windows 防火墙 ISA --> Forefront TMG
按网络协议划分:
网络层防火墙:OSI模型下四层,又称为包过滤防火墙
应用层防火墙/代理服务器:proxy 代理网关,OSI模型七层
"14. 总结iptable 5表5链, 基本使用,扩展模块。"
##iptables-五个内置链和五个表
描述:用于用户空间管理工具,管理netfilter ,实现防火墙功能!
注意:1. 默认带 -t filter属性 ,实操中可不加
#五个内置链chain:INPUT,OUTPUT,FORWARD,PREROUTING,POSTROUTING
INPUT 进来的包
OUTPUT 出去的包
FORWARD 穿过的包 --主要关注这三个!!
#五个表table:filter、nat、mangle、raw、security
filter:过滤规则表,根据预定义的规则过滤符合条件的数据包,默认表
nat:network address translation 地址转换规则表
mangle:修改数据标记位规则表
raw:关闭启用的连接跟踪机制,加快封包穿越防火墙速度
security:用于强制访问控制(MAC)网络规则,由Linux安全模块(如SELinux)实现
优先级由高到低的顺序为:
security -->raw-->mangle-->nat-->filter
#iptables-禁用ip访问或抛弃ip访问包
注意:禁用和抛弃的访问ip地址,在列表中有先后次序,不同次序造成不同访问效果!
iptables -A INPUT -s 10.0.0.20 -j DROP --抛弃数据报文
alias ipnum="iptables -vnL --line-numbers" --查看详细的禁用ip列表(写入别名,重登生效!)
iptables -A INPUT -s 10.0.0.102 -j REJECT
iptables -A INPUT -s 10.0.0.103 -j REJECT --拒绝访问
ipnum --别名查看
iptables -I INPUT -s 10.0.0.1 -j ACCEPT --追加规则为禁用网段前(不要把自己禁用了,加了自己当前工作窗口的网段)
iptables -D INPUT 1 --删除规则(按序号)
iptables -I INPUT 1 -s 10.0.0.1 -j ACCEPT --追加规则至指定(按序号)
iptables -A INPUT -s 10.0.0.0/24 -j REJECT --禁用(10.0.0.0/24网段)规则
root@rocky ~]#ipnum --查看所有自定义规则
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
1 150 10033 ACCEPT all -- * * 10.0.0.1 0.0.0.0/0
2 0 0 DROP all -- * * 10.0.0.20 0.0.0.0/0
3 7 482 REJECT all -- * * 10.0.0.102 0.0.0.0/0 reject-with icmp-port-unreachable
4 2 168 REJECT all -- * * 10.0.0.103 0.0.0.0/0 reject-with icmp-port-unreachable
5 0 0 REJECT all -- * * 10.0.0.0/24 0.0.0.0/0 reject-with icmp-port
iptables -D INPUT 2
iptables -D INPUT 2 --删除前面的规则序号后,后面的规则"自动补齐原来的序号位置"
iptables -D INPUT 2 --优化规则(既然10.0.0.0/24网段都禁用了,那么 20,102,103 是设置多余的删除!)
iptables -A INPUT ! -s 10.0.0.0/24 -j REJECT --排除不是(10.0.0.0/24网段)拒绝访问
ping 127.0.0.1 --测试(回环网络<能出去,后能回来!>)"不通"
iptables -I INPUT 2 -i lo -j ACCEPT --追加允许回环网络联通
ping 127.0.0.1 --测试回环网络"可以联通啦!"
##Target扩展模块
RETURN 假设web链中的第二条有RETURN,则直接调至主链中排队 ("类似break 跳出")
"15. 总结iptables规则优化实践,规则保存和恢复。"
#规则优化最佳实践
白名单和黑名单:
白名单==> 只有允许的才访问, 没说的都拒绝访问
黑名单==> 只有名单内的才禁止访问, 没说的都允许访问!
不推荐的使用: iptables -P INPUT DROP --默认拒绝所有,清空所有规则后 iptables -F
,会默认保留DROP 属性,自己也链不上
改回来默认没有规则可连接: iptables -P INPUT ACCEPT
"20. 总结关系型数据库相关概念,关系,行,列,主键,惟一键,域。"
关系统型数据库相关概念:
关系Relational :关系就是二维表,其中:表中的行、列次序并不重要
行row:表中的每一行,又称为一条记录record
列column:表中的每一列,称为属性,字段,域field
主键Primary key:PK ,一个或多个字段的组合, 用于惟一确定一个记录的字段,一张表只有一个主
键, 主键字段不能为空NULL
唯一键Unique key: 一个或多个字段的组合,用于惟一确定一个记录的字段,一张表可以有多个UK,而
且UK字段可以为NULL
域domain:属性的取值范围,如,性别只能是'男'和'女'两个值,人类的年龄只能0-150
"21. 总结关联类型,1对1,1对多,多对多关系。可以自行设计表进行解释。"
关联类型:
一对一联系(1:1): 在表A或表B中创建一个字段﹐存储另一个表的主键值 如: 一个人只有一个身份证("如专属教练")
一对多联系(1:n):外键, 如: 部门和员工("如老师有学生")
多对多联系(m:n):增加第三张表, 如: 学生和课程 ("如一个老师有多个学生,一个学生也有多个老师")