AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-313521

Wildcard's questions

Martin Hope
Wildcard
Asked: 2023-10-19 01:39:24 +0800 CST

如何修复 ifupdown2 的 puppet 安装以便网络恢复(或不中断)?

  • 5

我有傀儡代码,它会自动在新配置的物理服务器上安装 ifupdown2 (以及所有其他新主机配置)。(这是 Debian 11 Bullseye。)

但是,安装此软件包后应用的几乎所有配置都会失败,因为安装 ifupdown2 时网络会中断,因此无法从 puppet 服务器或 apt 存储库等下载文件。

不仅如此,Puppet 也无法从中恢复过来。该盒子必须在带外(即控制台、ipmi 等)进行处理,ifup -a或者重新启动,以便网络恢复。

我发现这是 ifupdown2 安装的一个已知问题:https://www.mail-archive.com/ [email protected] /msg1703008.html

那里的建议是:

对于像 ansible、puppet 等配置系统,我建议您将其设置为将脚本推送到节点,该节点基本上执行相当于使用 nohup 或其他方式执行“apt-get install ifupdown2 && systemctl restartnetworking”的操作如果网络本身出现故障,则会失败。

我当前的相关木偶节只是:

    package { "ifupdown2":
      ensure => 'latest',
    }

我应该如何解决这个问题,以便木偶配置的其余部分能够正确应用,即网络将作为应用该资源的一部分出现?

puppet
  • 1 个回答
  • 42 Views
Martin Hope
Wildcard
Asked: 2023-09-14 01:40:27 +0800 CST

为什么 Puppet 会切换环境然后再切换回来?

  • 5

这是 Puppet 5.5.22 和 Foreman 1.22.0-develop 的情况。我知道这是一个过时的 Foreman 和 Puppet 安装,但在我用新版本替换它们(即将推出的项目)之前,它们是我必须处理的。

# puppet agent -tv
Notice: Local environment: 'production' doesn't match server specified node environment 'development', switching agent to 'development'.
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Retrieving locales
Info: Loading facts
Notice: Local environment: 'development' doesn't match server specified environment 'test', restarting agent run with environment 'test'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Retrieving locales
Info: Loading facts
Info: Caching catalog for servername.example.com
Info: Applying configuration version '1694623566'
Notice: Applied catalog in 12.93 seconds

据我了解,原始本地环境“生产”可以来自 /etc/puppet/puppet.conf,或者如果该文件中未指定环境,则为默认环境。在本例中是后者(本地未指定环境)。

节点环境“开发”是在 Foreman 中为此主机设置的(ENC 或此 Puppet 安装的外部节点分类器),并且是所需的正确环境分配。

“测试”环境是 Foreman 目前为我们所有主机广泛设置的环境,也是我通过 Foreman UI 将其更改为“开发”之前该特定主机所在的环境。(换句话说,“测试”实际上是我们的生产环境;名为“生产”的环境此时尚未使用。)

我尝试查阅 Foreman 文档,但没有找到任何有关环境分配工作原理的信息;该文档只是浏览一下 UI,这对故障排除没有帮助。


可能相关的是,这里还有另一个奇怪的地方,即 servername.example.com 在 Foreman 的 UI 中出现两次。

力量 姓名 操作系统 木偶环境 模型 主持人组 上次报告 行动
[旋转的轮子] 服务器名称 Debian [版本] 发展 [刀片服务器名称] 主机组名 [空白的] [编辑按钮]
[电源图标,灰色] 服务器名称 Debian [版本] 测试 标准PC [版本信息] [空白的] 6 分钟前 [编辑按钮]

如果我尝试通过单击“编辑”按钮来编辑任一条目的环境,那么当我单击“提交”时,我会在“名称”字段旁边以红色显示“已被采用”,就像我试图创建一样一个新的主机条目。

但是,如果我从列表视图中选择左侧带有复选框的主机,然后转到顶部并选择“选择操作”->“更改环境”,那么它似乎可以工作。这两个条目都会在 UI 中显示“开发”。但在 servername 上运行的下一个 Puppet 将产生本文顶部所示的输出,然后刷新 Foreman UI 将再次显示一个带有“development”的条目和一个带有“test”的条目。

可能是什么原因造成的?如何将主机分配给环境并使其保留?

puppet-foreman
  • 1 个回答
  • 54 Views
Martin Hope
Wildcard
Asked: 2023-09-09 08:34:17 +0800 CST

SSH 隧道以避免暴露管理控制台

  • 5

我正在运行 Lucee Server,这是一个冷聚变服务器引擎,在我的例子中,它运行在 Tomcat 和 Apache 上。

我正在研究以各种方式强化它,并且遇到了有关此处描述的 SSH 隧道方法的问题:https ://docs.lucee.org/guides/deploying-lucee-server-apps/lockdown-guide .html#restricted-access-plus-ssh-tunneling

问题是,我认为关于如何进行 ssh 隧道的描述不准确或完整。我花了很多时间查看 SSH 文档以及其他一些 Stack Exchange 问题(https://superuser.com/q/588591/504387、https://superuser.com/q/237977/504387),但仍然可以' t 让 SSH 隧道按照该指南中所述或任何其他方式工作。


当前设置,我在 server.example.com 上运行 lucee,侦听端口 8888。在同一服务器上运行的 Apache 正在侦听端口 443,并配置为将所有请求代理到端口 8888 上的 127.0.0.1(即将它们转发到 lucee) 。但它被配置为拒绝对 /lucee 的请求,如上述文档中所述。

这意味着 Lucee 管理控制台只能直接在端口 8888 访问,而不能通过端口 443 访问。防火墙规则(iptables)设置为仅允许来自公司内部网络的端口 8888 上的传入流量,这样我们就可以访问 lucee 控制台,但外界不能。

这可能没问题,但我试图看看是否可以使隧道方法按所述工作。如果隧道可以工作,我们可以放弃 iptables 允许规则并完全阻止端口 8888(环回除外),或者只是将 lucee 重新配置为仅绑定到 127.0.0.1。


SSH 使用 server.example.com 上的非标准端口,假设它是 3300。

我想要做的是在我的笔记本电脑上运行 SSH 命令,该命令将:

  1. 使用我现有的 ssh 配置和密钥将我连接到 server.example.com(其中 sshd 正在侦听端口 3300),
  2. 绑定到我的笔记本电脑上本地主机上的任何端口,比方说 60001,
  3. 从远程端 server.example.com 依次连接到 127.0.0.1:8888,以便流量可以传递到 lucee。

最终结果应该是我可以在我的笔记本电脑上访问http://127.0.0.1:60001/lucee/admin/server.cfm,它将被运行在 server.example.com 上的 lucee 接收并监听绑定到的端口 8888该服务器上的 127.0.0.1。

我怎样才能做到这一点?

ssh-tunnel
  • 1 个回答
  • 38 Views
Martin Hope
Wildcard
Asked: 2018-05-26 16:00:40 +0800 CST

如何在 adedit 中直接获取当前主机的专有名称(DN)?

  • 1

我知道如何从命令行获取 DN:

adquery user -D "$(hostname -s)"

但是,我想将 DN 放入 adedit 脚本中。如果可以select_object {DN here},那么我可以做我需要做的其他事情。

我只是不知道如何直接在adedit.


根据adquery手册页(Centrify Suite 的一部分):

提供 adquery 命令是为了向后兼容,使您能够从 Centrify 管理的计算机上的命令行查询 Active Directory 以获取有关用户和组的信息。您可以使用该命令查询经典或分层区域的信息。但是,在大多数情况下,您应该使用 adedit 命令或脚本来查询 Active Directory 以获取分层区域中的信息。

但是,我找不到关于如何将adquery命令转换为adedit.

例如:

adquery user `hostname -s` --dump

这给出了我正在运行命令的计算机的用户的所有原始属性和值的列表。使用该--attribute标志,我只能返回一个属性。

有了adedit,在我跑完之后select_object THE_DN,我可以通过运行得到“描述”等其他字段get_object_field description。但是,如何首先获得 DN?

我找到了adedit 程序员指南,但尽管进行了大量的挖掘和实验,但还是找不到我需要的东西。


在我得到更好的方法之前,我正在运行:

adedit myscript "$(adquery user -D "$(hostname -s)")"

然后在脚本中:

if { $argc != 1 } {
  puts "format: $argv0 hostDN"
  exit 1
}

set the_dn [lindex $argv 0]

bind ... (credentials here)

select_object $the_dn

(注意:adedit 是基于 Tcl 构建的,所以我已经标记了这个问题 Tcl 以及 Active Directory。我没有创建 Centrify 标签的声誉。)

linux
  • 1 个回答
  • 3235 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve