服务器管理员

系统和网络管理员的问答

1
openssl无效的CA证书
我正在使用PKI基础结构设置服务器到服务器的OpenVPN,并且无法使其正常工作。我怀疑这是证书链中的内容,但我无所适从地解释如何做。我有一个脱机的根CA,以及一个证书层次结构。CA由称为EJBCA的产品在外部进行管理。如图所示,链条如下所示(名称已更改): RootCA -> OnlineSubCA -> SubCA1 -> VPNCA 我使用CA VPNCA签署了服务器和客户端证书,并在这些系统上拥有了证书链。在调试OpenVPN时,我尝试使用“ openssl s_server”和“ s_client”,使我认为这是CA链,尤其是在服务器上: openssl s_server -cert server.cert -key server.key -CAfile chained.pem -verify 5 和在客户端上 openssl s_client -cert client.cert -key client.key -CAfile chained.pem -verify 5 服务器吐回来,其中包括: depth=3 C = CA, O = My Company, CN = OnlineSubCA verify error:num=24:invalid CA certificate …

5
LXC,端口转发和iptables
我有一个10.0.3.2在主机上运行的LXC容器()。服务正在端口port上的容器内部运行7000。 从主机(10.0.3.1,lxcbr0),我能达到的服务: $ telnet 10.0.3.2 7000 Trying 10.0.3.2... Connected to 10.0.3.2. Escape character is '^]'. 我很想让外部容器可以访问在容器内运行的服务。因此,我想7002将主机上的端口转发到7000容器上的端口: iptables -t nat -A PREROUTING -p tcp --dport 7002 -j DNAT --to 10.0.3.2:7000 结果为(iptables -t nat -L): DNAT tcp -- anywhere anywhere tcp dpt:afs3-prserver to:10.0.3.2:7000 尽管如此,我仍无法使用转发的端口从主机访问服务: $ telnet 10.0.3.1 7002 Trying 10.0.3.1... telnet: Unable …

1
Outlook 2010无法回复加密的电子邮件
我和我的同事偶尔会使用加密的电子邮件发送密码。我们俩都使用Outlook 2010,并且两个数字ID都是由同一机构创建的。对于我的同事来说,创建,回复和阅读我的加密电子邮件效果很好。但是对我来说,我可以阅读他的加密电子邮件,可以向他发送加密的电子邮件,但不能回复他的加密电子邮件。我总是收到标准的Outlook加密错误消息: “ Microsoft Outlook在加密此消息时遇到问题,因为以下收件人缺少或无效的证书,或者冲突或不支持加密功能:” 然后,它列出了他的正确电子邮件地址,并提供“发送未加密的邮件”或“取消”。 有什么想法会导致这种情况吗?如果我选择发送未加密,或在发送前取消选择加密,则电子邮件将通过。 更新:当我回复加密的邮件时,如果我删除“收件人”框中的电子邮件地址,然后重新键入完全相同的电子邮件地址,则它可以工作。这使我认为我的同事有重复的地址,因此我将他从联系人列表中完全删除了。我知道他根本不在那儿,因为当我尝试发送人时找不到他。我让他给我发送了一封新的加密电子邮件,并对其进行了签名。我可以回复此电子邮件。然后,我再次将他添加到我的联系人列表中,但仍然无法回复其他加密的电子邮件。如果我右键单击他的地址,我可以查看联系卡并看到证书在其中,但不会发送。它还两次显示上述错误消息。(我必须取消两次。) 更新2:当错误弹出时,如果我选择“发送未加密的发送”选项,则会收到另一条错误消息:“操作失败。消息传递接口返回了未知错误。如果问题仍然存在,请重新启动Outlook。无法解析收件人。 ” 如果再按OK,然后再次尝试发送,则说明发送成功(未加密)。我认为该错误消息的“无法解析收件人”的最后一部分与发生的事情有关。似乎“收件人”字段中的电子邮件行为不正常,但仅在通过回复首次填充时。 更新3:我有一个新场景,这是相关的:我回复了一封普通的(未加密的)电子邮件,决定对其进行加密,并且遇到了同样的问题。(同一个人。)我清除了“收件人”框中的电子邮件地址,以相同的方式重新输入,然后将其发送。因此,该帖子的标题可能被更好地描述为“ Outlook 2010无法加密电子邮件回复”。

2
循环制作厨师(个展)食谱的正确方法是什么?
有人可以告诉我厨师如何工作吗?这是一个相当广泛的问题,因此要缩小范围,我有一个非常简单的方法,可以遍历用户列表,并在每个用户不存在的情况下创建它们。这没用。 据我所知,循环似​​乎正在发生,正如我所期望的那样。循环完成后,将执行我的bash命令以创建每个用户,对于循环中的每个迭代都执行一次。但是,执行bash命令时,它们似乎只具有第一次循环迭代中的用户值。 类似于本示例,编写循环变量数据的配方的正确方法是什么? 这是食谱: node[:users].each do |user| puts "in loop for #{user['username']}" bash "create_user" do user "root" code do puts "running 'useradd' for #{user['username']}" "useradd #{user['username']}" end not_if do puts "checking /etc/passwd for #{user['username']}" "cat /etc/passwd | grep #{user['username']}" end end end 我正在使用Vagrant通过以下设置进行测试: Vagrant::Config.run do |config| config.vm.box = "precise32" config.vm.box_url …
8 chef  chef-solo 


2
是否可以使用iptables复制UDP单播流?
我有一个专有系统,可将udp视频流从单元#1(192.168.1.1)传输到单元#2(.1.2)。我无法对此系统进行更改,并且尝试克隆此udp流,以便可以在其他程序中访问它。该程序将处理视频,然后将其作为多播流再次发送出去。 我希望使用带有三块网卡的Linux机器(现在正在运行Ubuntu Server 12.04)进行此操作。通过将单元#1和#2连接到Linux机器中的两个网卡(eth0和eth1)并使用网桥,我可以使它们通信。我的/ etc / network / interfaces看起来像: # The loopback network interface auto lo iface lo inet loopback # The external interface auto eth3 iface eth3 inet static address 192.168.10.2 netmask 255.255.255.0 # The bridge interface auto br0 iface br0 inet manual bridge_ports eth0 eth1 这有效,并且通过使用tcpdump,我已经确认udp数据包从#1到达并在端口6000朝#2方向前进。 我希望可以使用的下一步是使用iptables克隆从192.168.1.1到2号端口6000的所有udp数据包。我对iptables不太熟悉,但是在在线阅读手册之后,我认为这可以工作: iptables …

3
Supermicro IPMI KVM:连接失败
我有几台Supermicro服务器,但现在无法再通过IPMI连接到它们的任何KVM。我一直在“连接失败”。我首先注意到它,但是尝试其他结果也会导致相同的错误。 我试过了: Windows Server 2008上的浏览器插件(firefox + java7)。 Windows 7上的浏览器插件(firefox + java7)。 浏览器插件Mac + safari + java7。 浏览器插件Linux + openjdk-1.7 + icedtea插件。 Windows Server 2008上的独立ipmi工具(Supermicro的ipmiview)。 Linux openjdk 1.6和1.7上的独立IPMI工具(Supermirco的ipmiview)。 复位IPMI控制器(这有时是必要的,因为它崩溃): ipmitool mc reset warm。 无论我如何尝试,我都会不断遇到“连接失败”的情况。 我进行了一个tcp转储,并使用Wireshark进行了分析,我所看到的只是客户端发送了SYN,并且收到了[RST,ACK],Wireshark标记为红色。 我过去经常使用控制台,所以我不知道这里出了什么问题。我读到一些有关Java 1.6(java 6)工作的信息,但这似乎对我没有帮助。 编辑:这不是网络问题,因为我可以连接到Webadmin并控制除KVM之外的所有内容。我什至可以看到启动的OS的屏幕截图。 还有一些信息: # ipmitool mc info Device ID : 32 Device Revision : …

1
启动时init.d脚本的PATH问题
我有一个简单的脚本(在Ubuntu 12.04LTS上)启动独角兽实例。 #!/bin/sh case "$1" in start) echo "starting" cd /path && bundle exec unicorn -c /path/config/unicorn.rb -D -E production ;; stop) echo "Stopping Unicorn Instances" kill `cat /tmp/unicorn.pid` ;; restart) echo "sending USR2 to all unicorns" kill -s USR2 `cat /tmp/unicorn.pid` ;; esac exit 0 调用时,它的行为正确: /etc/init.d/unicorn_boot.sh start 我希望它在启动时启动,所以我跑了: …
8 ubuntu  init.d  path 

4
使用通配符进行DNS搜索?
有什么喜欢nslookup或dig提供基于名称中包含的内容进行搜索的功能,例如通配符搜索或其他功能? 我正在尝试为我们的帮助台团队使用GUI包装器编写一个小脚本。理想情况下,我希望他们能够搜索用户的姓氏(DNS记录中始终存在的名字),然后在下拉列表中填充可能的选项。 我无法找到一种有效的方法来解决nslookup *miller*…… Name: sf-jacobmiller.localdomain.com Address: 10.10.10.121 Name: sf-justinmiller.localdomain.com Address: 10.10.10.144 ..然后我可以将其解析为下拉菜单,以供他们选择。 我尚未研究可用的功能,ldapsearch哪些功能可以满足我的需求。我唯一的要求是,它已内置在OSX中,不需要安装其他任何东西,否则,我欢迎您提供的任何解决方案。谢谢

3
通过LAN迁移原始磁盘映像
这是我的情况: 同一数据中心中的两个专用服务器之间具有千兆以太网。 这两个专用服务器都已启动到基于Debian Squeeze的救援环境中,并添加了额外的工具和实用程序。还有足够的tmp空间(两个盒子上都有32GB的RAM)用于下载软件,安装软件包和/或根据需要进行编译。 两台专用服务器都有大约 3TB的可用空间。 “源”服务器在硬件RAID-10中具有4个1.5TB磁盘,带有Adaptec 4端口控制器。 “目标”服务器在硬件RAID-1中具有2 x 3TB磁盘,带有Adaptec 2端口控制器-与另一代相同,但端口数量不同。 可用块的数量/dev/sda相差不到10 MB,但是由于某种原因,目标服务器的阵列要小几个兆。 两个RAID阵列均配置为使用所有组成磁盘的整个磁盘表面来创建一个单个RAID卷。 操作系统以MBR模式引导;不使用UEFI引导。 我想做的事: 在块层上,将整个OS映像(仅由GPT分区表,/ boot分区和/分区中的GRUB2引导程序组成)从“源”服务器复制到“目标”服务器。 如果可能的话,复制应“实时”进行:这意味着我没有足够的空间在目的地侧存储磁盘映像的适当文件,除非我将磁盘映像作为副本解压缩到硬盘上正在发生。服务器之间的千兆以太网连接足够可靠,我对此感到满意,并且我当然会fsck在两端(源和目标)上运行,以验证传输前后文件系统是否正常。 如果可能,请不要通过网络传输块,每个块中的组成文件系统都不会使用这些块(所有分区的格式都为ext4)。这是因为超过50%的“源”磁盘是/分区中的可用空间。 调整/分区的大小,以便在复制分区时将其大小调整为适合目标磁盘的大小。 复制成功后,安装每个卷并修复对静态IP的引用,以反映新服务器的IP。(无需任何其他帮助,就可以这样做) 我的问题: 我是否应该首先计算/dev/sda每个服务器上的大小之间的差异(以字节为单位),然后使用e2resize非破坏性地减小源端上/分区的大小,以使其适合目标端的空间? 我应该dd在原始块设备上运行,/dev/sda从源到目标(通过ssh),还是应该在目标上创建等效的分区布局并dd在每个分区上运行?请注意,一次处理一个分区给我留下了引导加载程序的问题,但是如果我一次不做一个分区,那么dd一旦它写入了目标可以容纳的字节数,就需要知道停止传输数据(希望它将“封闭” /最后一个块上分区的最末端,逻辑上在源分区布局中所有其他分区的“右边”)。 一些杂项。细节: 源代码框上的主机操作系统是运行多个OpenVZ来宾的Ubuntu Server 12.04 由于两个设备均已启动,因此可以直接进行磁盘访问,而不会期望运行的操作系统对基础数据进行任何更改。

1
如何在sudoers的同一行上同时设置NOPASSWD和SETENV?
在sudoers文件中,如何在同一行上使用多个Tag_Spec。 通常,如果我不想输入密码,我将执行以下操作: who where = (aswhom) NOPASSWD: commands 我想使用SETENV标记,以便用户可以保留环境变量。这样工作正常: who where = (aswhom) SETENV: commands 在sudoers(5)手册页中: Tag_Spec ::= ('NOPASSWD:' | 'PASSWD:' | 'NOEXEC:' | 'EXEC:' | 'SETENV:' | 'NOSETENV:' | 'LOG_INPUT:' | 'NOLOG_INPUT:' | 'LOG_OUTPUT:' | 'NOLOG_OUTPUT:') 我看不到如何在同一条目上使用多个标签。我既喜欢使用NOPASSWD,并SETENV在同一行。
8 linux  sudo 

4
VM环境中的硬件许可证密钥与软件许可证密钥
我正在与一家供应商合作,该供应商提供了基于服务器的应用程序,该应用程序需要激活许可。有两个选项,基于软件的许可和基于硬件(USB加密狗)的激活。在基于VMware的服务器上运行应用程序软件的环境中,使用硬件或软件许可证密钥的优缺点是什么?USB硬件许可证密钥将插入以下之一:https : //www.digi.com/products/usb/anywhereusb 有两个已获得许可的应用程序:供应商:Iconics软件:GENESIS32 SCADA平台供应商:罗克韦尔自动化软件:FactoryTalk(RSLinx) 这是供应商偏爱硬件密钥的原因: 我们发现,硬件密钥比软件密钥更稳定,尤其是在VM环境中。软件密钥通常附在计算机的硬盘驱动器或NIC ID上。每当此数字更改(硬盘驱动器故障,VM重新配置等)时,许可证就会丢失,需要在制造商的帮助下重新加载。当今的许可是通过Internet完成的,并且大多数服务器都无法访问Internet,因此处理许可问题已成为头疼的问题。硬件密钥对于VM来说效果很好,因为它们不驻留在VM上。如果出现映像故障或其他服务器故障,则可以复制一个新映像,指向许可证密钥,然后就可以正常运行了。

6
在运行FreeBSD的SuperMicro服务器上识别磁盘
我正在ZPool中具有6个磁盘的SuperMicro 2U服务器上运行。我想通过从FreeBSD中的工具运行命令来使用驱动器托架LED标识每个驱动器托架。有没有办法做到这一点? 我知道驱动器是否在Raid Card上运行,我可以使用Raid Card实用程序来识别每个磁盘,但就我而言,没有硬件RAID。 在FreeBSD或Linux中是否有工具可以做到这一点?

2
SSH Kerberos身份验证失败,并在debian squeeze上显示“请求中的主体错误/没有客户端凭据”
我有一个debian squeeze主机,在没有密码提示的情况下无法使用kerberos登录。配置相同的ubuntu 12.04主机可以正常工作,并且可以登录而不会出现密码提示。 经过kinit之后,klist给出: Ticket cache: FILE:/tmp/krb5cc_1000 Default principal: boti@REALM Valid starting Expires Service principal 14/02/2013 16:37 15/02/2013 16:37 krbtgt/REALM@REALM 现在,当我尝试通过ssh登录到debian-squeeze时,会看到密码提示。如果我在此时未进行身份验证就检查票证,则会得到: Ticket cache: FILE:/tmp/krb5cc_1000 Default principal: boti@REALM Valid starting Expires Service principal 14/02/2013 16:37 15/02/2013 16:37 krbtgt/REALM@REALM 14/02/2013 16:38 15/02/2013 16:37 host/debian-squeeze@ 14/02/2013 16:38 15/02/2013 16:37 host/debian-squeeze@REALM 所以很明显我获得了门票。ssh调试日志给出了: Postponed gssapi-with-mic …

2
SCCM 2012:如何正确更新应用程序的内容?
我最近在工作场所建立了一个新的SCCM 2012环境,现在我们正在创建要分发的应用程序。 某些应用程序是使用脚本设置的。在测试过程中,出现了一些错误,因此需要更改应用程序的内容。分发点继续将旧内容提供给客户端。 我想知道当应用程序内容更改时更新DP的正确程序是什么。我尝试过重新分发到分发点并删除旧修订,但无济于事。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.