我最近一直在用我的各种 Debian 服务器测试 Cockpit,到目前为止我很喜欢它。我遇到的一个问题是它创建了默认打开的端口 9090。我不希望该端口向全世界开放,但我的堡垒服务器位于动态 IP 上。
我注意到我可以在远程服务器上安装 Cockpit,然后运行systemctl stop cockpit.socket
并使其工作......但不能断开与主服务器的连接。
我想知道的是,仅允许 Cockpit 连接到未安装 Cockpit(首选)的远程 Debian 服务器,或者以某种方式限制 Cockpit 的 Web 界面不在面向公众的界面上运行,所需的最低配置是什么。
答案1
驾驶舱文件解释了如何覆盖 cockpit.socket systemd 单元根据需要设置监听地址。
例如,您可以创建一个/etc/systemd/system/cockpit.socket.d/listen.conf
包含以下内容的覆盖文件:
[Socket]
ListenStream=
ListenStream=192.168.35.81:9090
第一个命令ListenStream=
导致所有先前定义的ListenStream=
指令被丢弃。然后它们将被第二个命令替换ListenStream=
。
您将使用内部接口的 IP 地址,而不是外部接口的 IP 地址。
当然你也可以按照你所希望的任意方式防火墙9090端口,达到类似的效果。