3-17-A-Linux.note

noteId: WEBf6a518fb9fe6dbb62749dd83a8516b20 · 原始路径:/ALL/世赛题目(练习) - 笔记/第48届/02-省赛前集训/3-17-A-Linux.note · 图片:40 · 附件待处理:1

 
 
使用 ipcalc [网段] 可以查看该网段最小和最大的可用IP,以及广播地址等
 
一、DNS
 
1、ca.isp.net:
vim /etc/named.conf
# . 区域用来编写委派
 
vim db.root
 
vim db.isp.net
 
vim db.1
 
 
2、ns.wschina.cn:
vim /etc/bind/named.conf
 
vim db.wschina
 
vim db.125
 
 
vim db.192
 
 
3、ns.wscsub.wschina.cn:
vim /etc/bind/named.conf
 
vim db.wscsub
 
vim db.172
 
vim db.out
 
 
二、NTPSec:
 
 
三、RIPv2:
# 使用 do show ip route 查看网段,然后照着通告即可
## 直接通告网段+/掩码 即可
 
 
 
四、S2S(GRE over IPSec):
apt install -y strongswan
 
1、fw.wschina.cn:
vim /etc/network/interfaces
# man interfaces 搜索 tunnel 有模板
 
vim /etc/ipsec.conf
# man ipsec.conf
 
 
vim /etc/ipsec.secrets
# man ipsec.secrets
 
# 需要先重启机器才能读取到 ipsec.conf 的修改
使用 ipsec up S2S 开启 ipsec
 
2、fw.wscsub.wschina.cn:
vim /etc/network/interfaces
 
 
vim /etc/ipsec.conf
# config setup 注不注释无所谓:
 
vim /etc/ipsec.secrets
 
# 重启strongswan 服务,然后连接ipsec:
## 两边执行:
systemctl restart strongswan-starter
ipsec up S2S
 
 
 
·使用 frr 书写对端内网的静态路由:
vtysh
conf t
ip route 172.16.0.0 255.255.255.0 10.0.0.2
end
wr
 
 
五、apache2
 
1、禁用80端口 和 ipv6:
 vim /etc/apache2/ports.conf
 
 
2、配置 web页面时间:
apt install -y php8.2-fpm libapache2-mod-php8.2
a2enconf php8.2-fpm
 
vim /htdocs/index.php
or
 
·测试:
 
 
 
六、策略路由:
分支网络的内网需要通过策略路由,使用S2S去往总部边界网关SNAT到公网
原理:新建一个用于策略路由的路由表,自定义其中的路由表,指定的网段就会优先使用这个策略路由的路由表,仅当策略路由的路由表中没有路由时,才会使用默认的路由表
# 路由表优先级越小越优先
# 默认路由表的优先级是254(main)
 
1、fw.wscsub.wschina.cn:
 
(1)创建策略路由:
# 新建一个路由表(配置立即生效的):
echo "200 wschina" >> /etc/iproute2/rt_tables
## 因为默认路由表优先级是254,我们定义的路由表优先级是200,优于默认路由表,所以路由会优先使用我们定义的这个路由表
 
# 配置策略路由:
## 匹配源地址:
ip rule add from 172.16.0.0/24 table wschina
# table 名称就是前面定义的名称
 
## 添加路由条目:
ip route add default via 10.0.0.1 table wschina
# 无法使用route add命令来达到这个作用
这样,当源自172.16.0.0/24的路由来到本机寻址,就会将其全部转发给10.0.0.1(策略路由的路由表中默认还是有直连路由的)
 
 
(2)将策略路由持久化:
使用ip route或者ip rule添加的路由或路由策略都是一次性的,重启就会失效
# 使用 interfaces 中的 up、down 来执行 ip route 命令:
vim /etc/network/interfaces
## 使用 post-up 也是一样的效果
不需要删除条目的配置,因为重启该路由就会消失
 
 
·客户端测试:
 
 
(3)(可选)定义mangle表为路由打标签:
mangle表是韩国的标准,上次韩国题目中有需要查看mangle表
这个配置没有实际作用,只是给路由打上一个标签
 
1、nftables:
# 查看模板:
vim /usr/share/doc/nftables/examples/ipv4-mangle.nft
 
# 配置 mangle表:
vim /etc/nftables.conf
## 先将模板的 output改为 prerouting
将源自 172.16.0.0/24 的流量标记为 0x1
nft list ruleset 会显示为:
 
 
2、iptables:
iptables -t mangle -A PREROUTING -s 172.16.0.0/24 -j MARK --set-mark 0x1
 
 
(4)评分表 配置:
评分表这里有一个错误点,unitel 应该修正为wschina
 
要达到和评分表一样的效果需要这样配置:
评分表是给所有源自172.16.0.0/24的流量打上 0x1的标签,然后策略路由匹配所有0x1标签的路由来执行策略
echo "200 wschina" >> /etc/iproute2/rt_tables
nft add rule ip mangle prerouting ip saddr 172.16.0.0/24 meta mark set 0x1
ip rule add fwmark 1 lookup wschina priority 32765
ip route add default dev tun0 table wschina
#  配置路由持久化就不赘述了
 
·评分表测试:
 
·客户端测试:
 
 
2、fw.wschina.cn:
 
评分表:
 
这样做的作用是
1、有一个去往172.16.0.0/24 的路由
2、给回去 172.16.0.0/24 的回程路由打上 0x1的标签
 
要达到和评分表一样的效果需要这样配置:
评分表是给所有 不源自192.168.0.0/24 去往 172.16.0.0/24的流量打上 0x1的标签,然后策略路由匹配所有0x1标签的路由来执行策略
echo "200 wscsub" >> /etc/iproute2/rt_tables
nft add rule ip mangle prerouting ip saddr != 192.168.0.0/24 ip daddr 172.16.0.0/24 meta mark set 0x1
ip rule add fwmark 1 lookup wscsub priority 32765
ip route add default dev tun0 table wscsub
#  配置路由持久化就不赘述了
 
 
·评分表测试:
 
 
·客户端测试:
客户端测试看不出来有什么变化
 
 
 
3、删除策略路由:
直接重启 networking 即可删除(前提是没有配置路由持久化)