这个环境几乎所有东西都是双胞胎,包括两个网络服务器/防火墙/网关系统,而且它们的版本已经很老了,所以我决定从其中一个升级Fedora Server 30 to 38
。当然,这个想法是将两者都“带入现代时代”,但一次一个。
我的时机很奇怪,因为就在我开始升级的同时,甚至没有接触(物理或电子)另一台服务器,它就决定失败了!所以,现在我有一个“服务器停机”的场景。-呃- 不幸的是,这也意味着我没有可供查看的工作示例。
我没有接触的那个显然有硬件问题,我现在无法解决它们,所以我专注于我已经开始的那个,它现在已经从 Fedora Server 38 的升级/更新中出现了。 . 除了它有一个问题,它不是一个真正的网关!确认!
需要明确的是,从它你可以很好地访问互联网和内部网络。但它并没有通过它传递位。
当然,它都是通用的 Fedora Server(Fedora Core 38,服务器版本进行了任何调整)并且 30 和 38 之间的任何差异都可能是巨大的,尽管这里最重要的是网络。
它有两个 NIC,我按原样配置它们(即 IP 地址、掩码等),实际上安装过程似乎有助于识别哪个 NIC 是内部的,哪个是外部的。我使用了我过去的经验,并且非常确定我做对了。
事实上,一旦启动,我就可以立即通过内部网络通过 ssh 访问该框。而且,好吧,在这样的系统上有很多事情要做,但很快我就了解了这一切的防火墙方面。(那时我没有意识到另一个系统没有响应。)
我做的第一件事是将接口移动到内部和外部区域,然后打开外部区域的伪装。我使用 forward-port 命令等转发邮件等等,最终得到的外部看起来像这样:
# firewall-cmd --zone=external --list-all
external (active)
target: default
icmp-block-inversion: no
interfaces: enp1s0
sources:
services: http https ssh
ports:
protocols:
forward: yes
masquerade: yes
forward-ports:
port=25:proto=tcp:toport=25:toaddr=192.168.1.1
source-ports:
icmp-blocks:
rich rules:
另一个,内部:
# firewall-cmd --zone=internal --list-all
internal (active)
target: default
icmp-block-inversion: no
interfaces: enp2s0
sources:
services: dhcpv6-client mdns samba-client ssh
ports:
protocols:
forward: yes
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
顺便说一句,我没有向内部区域添加任何服务——我猜它们显然只是默认设置。
我花了很多时间在路由上,因为从一开始我就觉得它很麻烦。然而,现在是这样的:
# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default router 0.0.0.0 UG 100 0 0 enp1s0
router 0.0.0.0 255.255.255.255 UH 100 0 0 enp1s0
192.168.1.1 0.0.0.0 255.255.255.0 U 101 0 0 enp2s0
192.168.1.1 0.0.0.0 255.255.255.0 U 101 0 0 enp2s0
仅供参考,这个版本的 Fedora 不使用 IP 表,而是使用网络管理器——我从一开始就讨厌的工具集,但现在看起来更成熟了。无论如何,在网上可以找到的大多数资料都谈到了这种较旧的策略,但没有任何帮助。但是,此页面为人们指明了正确的总体方向。
更新 1
我得到了显然备份失败的旧硬件。这并不难做到,但它增加了我们的胜算。...我说“我们的”,因为一位同事加入了我的行列;他专注于旧盒子,而我专注于新盒子。
NEITHER 没有将位作为网关/防火墙传递,这让我感到困惑。然而,我的同事提醒说,一个系统已经不能正常工作,可能是由于尝试让特定的 OpenVPN 安装运行失败。既然他做了那项工作,那么,他将继续在那里。
这必须很简单;什么基本原则被忽视了?!