AlmaLinux路由配置
前言
此文章搁置了一段时间,只因为少写了一条静态路由…如果实验环境为全套专业设备的话应该很快就能排查出障碍。傻瓜设备总是会让人觉得某些功能是理所当然,导致排障时会直接忽略…..
本片文章记录配置一台almalinux主机作为软路由。配置的机器为AlmaLinux Router
,如以下拓扑所示。其为虚拟网络提供基本网络服务,pxe环境等等
实验环境:
1 | 路由:almalinux9 |
拓扑:
目的:
为虚拟网路划分一个广播域,方便后续实验
暂时不nat不伪装,方便调试虚拟网络里的机器
虚拟网络正常上网
实践
Step1-开启内核ipv4转发
根据sysctl
的文档,修改以下任意文件以写入配置:
1 | FILES |
添加以下配置于指定文件并激活:
1 | echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/95-IPv4-forwarding.conf |
验证配置是否生效:
1 | [root@routerAlmaLinux baka]# cat /proc/sys/net/ipv4/ip_forward |
Step2-将指定接口配置到firewalld预设的区域
执行此步骤前确保控制内核网络框架netfilter
的工具只有firewalld
iptables
、firewalld
、nftables
都是内核网络框架netfilter
用户空间的工具。
在rhel9中iptables
工具使用 nf_tables
内核 API 而不是 legacy
后端。nf_tables
API 提供了向后兼容性,以便使用 iptables
命令的脚本仍可在 Red Hat Enterprise Linux 上工作。对于新的防火墙脚本,红帽建议使用 nftables
。
碎碎念:firewalld可比四表五链简单多了
另外,对于iptables和nftables,之前一直疑惑为什么SNAT一定要放在postrouting链,明明放在prerouting链貌似可行。直到参考了iptables - Why does SNAT happen in POSTROUTING chain and DNAT in PREROUTING chain? - Unix & Linux Stack Exchange 。对于SNAT,只有路由后才能知道从哪个接口转发数据包,从而修改源地址为响应接口地址;而对于DNAT,需要先把目标地址及端口转为内网目标机器的地址端口再路由,否则目标地址为本机直接路由的话就会判断路由完成
此步骤能使用的工具有nmcli
和firewall-cmd
,根据2.5. 在连接配置文件文件中手动将区分配给网络连接 Red Hat Enterprise Linux 9 | Red Hat Customer Portal ,使用nmcli
效率更高
nmcli修改接口区域到trusted
首先查看接口信息:
1 | [root@routerAlmaLinux baka]# ip a |
需要配置的接口为enp0s3和enp0s8,分别将他们配置到firewalld预设的trusted
区域。此区域默认允许一切连接,而同一个区域内转发默认是允许的
配置命令:
1 | # 假设要使用的NetworkManager的配置文件还是默认名称 |
检查配置是否生效:
1 | [root@routerAlmaLinux baka]# firewall-cmd --get-active-zones |
firewall-cmd修改接口到指定区域
2.3. 将网络接口分配给区 Red Hat Enterprise Linux 9 | Red Hat Customer Portal
Step3-配置路由表
查看AlmaLinux Router
路由表:
1 | [root@routerAlmaLinux baka]# ip r |
基本来说只用设置默认网关,使用nmcli或者iproute2配置即可
为上级网关配置路由表:
1 | # 梅林固件web后台直接设定就完事了 |
这时虚拟网络已经能和家宽内网双向连通及和互联网正常通信
测试
在AlmaLinux Router
上运行嗅探域名的scapy脚本(修改版本) 可以看到访问记录:
路由正常
- 标题: AlmaLinux路由配置
- 作者: 7cmb
- 创建于 : 2023-12-31 04:21:31
- 更新于 : 2024-10-12 23:07:35
- 链接: https://7cmb.com/almaLinux路由配置/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。