我在防火墙上设置了端口转发规则,将外部端口映射到内部 SSH 端口。 SSH端口转发规则适用于在不同操作系统上运行的系统,包括CentOS 6、CentOS 7和AlmaLinux 8。
当从网络外部连接时,我期望 SSH 守护进程看到网关的 IP,因为它会进行端口地址转换,并且源 IP 将更改为网关的本地 IP。
但是,根据内部网络中的操作系统,我似乎得到了不同的结果。
在 CentOS 6 服务器上,我从网关的本地 IP 获得连接:
Mar 26 00:50:01 centos6 sshd[4993]: Accepted keyboard-interactive/pam for testuser from 192.168.1.1 port 1288 ssh2
在 CentOS 7 服务器上,我获得来自外部源 IP 的连接:
Mar 26 01:06:27 centos7 sshd[5975]: Accepted keyboard-interactive/pam for testuser from 118.110.11.110 port 1727 ssh2
在AlmaLinux 8服务器上,我得到来自外部源IP的连接:
Mar 26 01:08:58 almalinux-8 sshd[2728]: Accepted keyboard-interactive/pam for testuser from 118.110.11.110 port 2131 ssh2
我认为当从外部连接到 CentOS 7 和 AlmaLinux 8 系统时,它总是显示为来自外部源 IP,但情况并非总是如此。
我连接到的两个位于 CentOS 7 上的客户站点的 IP 来自本地网关 IP,而不是外部源 IP。
为什么这两个客户的情况不同,而其余客户则显示为来自外部源 IP?我希望外部源 IP 始终显示,因为我想对外部访问强制执行 MFA 并从本地网络禁用 MFA。