小编djs*_*dog的帖子

远程自动配置到 XenServer 管理程序

我目前正在开展一个项目,在该项目中我使用 Vagrant 和 Ansible 配置在 VirtualBox 中创建本地环境。我目前在一所大学工作,我们有一个 XenServer 管理程序(免费版)。我无法直接从我的位置访问虚拟机管理程序,但我可以通过 ssh 连接到同一网络上的 Ubuntu 服务器并转发端口,以便我可以使用 XenCenter 连接到它:

ssh <remote machine> -L80:<xen-server>:80 -L443:<xen-server>:443 -L5900:<xenserver>:5900 -L59001...etc to 5910
Run Code Online (Sandbox Code Playgroud)

59xx 端口是因为 XenCenter 将 VNC 控制台放在这些端口上。(我实际上在 Windows 上使用腻子,因为我无法让 OpenXenCenter/Linux 与这种类型的隧道连接)。Citrix XenCenter 连接正常,我可以创建一个新的 VM,但是我无法通过 XenCenter 或其他 VNC 客户端访问控制台。

如果我能让 VNC 控制台工作,我可以创建一个基本框,然后复制它并根据需要使用不同的 ansible playbook 重新配置副本。

但我真的不在乎能否获得控制台,只要我可以自动配置单个 VM。如果我能用另一台机器上的客户端指向虚拟机管理程序并编写具有特定 IP 地址的 VM 创建脚本,那就太好了。Vagrant 不支持 Xen 作为提供者。我发现使用 libvirt 的 Xen 支持有限,但即便如此,它似乎更适合安装在标准发行版(如 Ubuntu 或 OpenSUSE)上的 Xen,而不是作为独立的 Citrix Hypervisor。有 xen-tools,但这似乎也适用于本地 linux 发行版上的 xen。

有没有办法使用 Vagrant 或其他类型的配置工具远程配置 XenServer 实例?

xen provisioning xenserver libvirt vagrant

5
推荐指数
1
解决办法
6821
查看次数

将 nginx try_files 与多个目录树一起使用

我想让 nginx 通过检查该路径/文件是否存在于几个单独的目录中来处理对特定目录的请求。例如,如果我的根目录具有以下内容:

images/siteA/foo.jpg
images/siteB/b/bar.jpg
images/siteC/example.jpg
Run Code Online (Sandbox Code Playgroud)

我想http://example.com/images/foo.jpg返回文件foo.jpghttp://example.com/b/bar.jpg返回文件bar.jpg等等。

我尝试了以下操作,但它只是被锁定在重定向循环中(我不希望它重定向,但实际上将文件提供给该 URL):

  location /images/ {
    try_files /siteA/images/
              /siteB/images/
              /siteC/images/ =404;

  } 
Run Code Online (Sandbox Code Playgroud)

我也尝试过使用捕获组,例如location ~/images/(.*)/并添加$1到 URL 的末尾。我对文档有点困惑,不确定如何使用 nginx 完成此操作。

configuration nginx

5
推荐指数
2
解决办法
9703
查看次数

使用 pam_winbind 时,基于 Active Directory 组在 Linux 中拥有用户 su/sudo

我正在使用 openSUSE 11.4,它在 Yast 中内置了 Active Directory 配置(它为您完成所有 pam_winbind、Kerberos、nss、Samba 客户端的工作),并且我可以成功地针对我的 AD 域进行身份验证。

我创建了一个名为 LinuxAdmins 的 AD 组,我希望该组中的人能够在没有 root 密码的情况下在某些 Linux 服务器上使用 su 或在这些机器上使用自己的密码进行 sudo。

openSUSE 配置 AD 的方式是设置用户名和域前缀。所以我的用户名是 MYDOMAN\djsumdog。如果我尝试将以下任一行添加到 sudoers 文件中,我仍然无法使用我的用户执行 sudo。我不断收到“MYDOMAIN\djsumdog 不在 sudoers 文件中。将报告此事件。” 我已经为用户名和组名尝试了单斜杠和双斜杠。

%MYDOMAIN\LinuxAdmins ALL=(ALL) ALL
MYDOMAIN\djsumdog ALL=(ALL) ALL 
Run Code Online (Sandbox Code Playgroud)

我知道在我的 Gentoo 机器上,/etc/pam.d/su 中的以下行允许 wheel 组中的用户在没有密码的情况下使用 su:

auth       sufficient   pam_wheel.so use_uid trust
Run Code Online (Sandbox Code Playgroud)

但这似乎不适用于 openSUSE(即使是本地用户),更不用说 AD 用户了。我也尝试使用 pam_winbind.so 模块:

#%PAM-1.0
auth     sufficient     pam_rootok.so
auth     include        common-auth
auth     sufficient     pam_winbind.so require_membership_of=MYDOMAIN\\LinuxAdmins
account  sufficient     pam_rootok.so
account  include        common-account
password include        common-password …
Run Code Online (Sandbox Code Playgroud)

linux su active-directory opensuse sudo

4
推荐指数
1
解决办法
2万
查看次数

BIND 不再响应 AXFR 请求

最近我们移动了我们的主要外部 DNS 服务器。它前面有三个缓存 DNS 从属服务器,由我们的 ISP 提供。他们告诉我们,在进行区域传输 (AXFR) 时,他们已经开始收到拒绝访问的请求。如果我将自己的 IP 添加到允许传输列表中,则在将 dig 与 AXFR 参数一起使用时,传输也会失败。这是我的绑定配置的样子:

options {
    directory "/var/lib/named";
    dump-file "/var/log/named_dump.db";
    zone-statistics yes;
    statistics-file "/var/log/named.stats";
    listen-on-v6 { any; };
    notify-source 10.19.0.68 port 53;

    querylog yes;
    notify yes;
    allow-transfer { 
        127.0.0.1;  //localhost
        1.1.1.1;    //public dns slave 1
        2.2.2.2;    //public dns slave 2
        3.3.3.3;    //public dns slave 3
    };
    also-notify {
            1.1.1.1;  //public dns slave 1
            2.2.2.2;  //public dns slave 2
            3.3.3.3;  //public dns slave 3
    };
    include "/etc/named.d/forwarders.conf";
};
logging { …
Run Code Online (Sandbox Code Playgroud)

domain-name-system bind master-slave dns-zone

2
推荐指数
1
解决办法
4004
查看次数