Articles of linux

Openvpn故障转移设置 – 使用静态ips路由到客户端

我有一个openvpn服务器和许多客户端连接到它的设置。 所有这些客户端都有固定的IP地址,从他们的证书名称派生。 在openvpn服务器的后面,我有一个pipe理服务器,需要连接到客户端(监视/执行一些远程命令)。 |-C1 |-C2 A — VPN server -| |-C3 |-C4 服务器A可以通过VPN连接到C1-4,使用固定的ips。 我想要做的是将设置扩展到多个VPN服务器(处理服务器中断,并分散负载),同时还有一个简单的方法来find任何特定的远程客户端。 |-C1 |-C2 — VPN server 1 -| | A | — VPN server 2 -| |-C3 |-C4 我知道如何configuration客户端随机select一个openvpn服务器,我不知道如何pipe理ip分配。 我应该为服务器保留一个子网吗? 在这种情况下,A如何知道IP在哪个服务器后面? 我应该每个openvpn服务器有一个子网? 在这种情况下,A如何知道要联系哪个IP地址? 我已经看了一下dynamic路由系统,但我将不得不pipe理一个路由每个客户端ip,这似乎是非常错误的…另一种select是保持一个DNS(或DNS样)服务更新映射{客户端名称=>当前的IP地址},但看起来很复杂,我不确定我们所有的软件栈都能适应它。 这种故障转移机制通常如何处理?

SNMP – snmpwalk不返回文本OID

我有一个简单的/etc/snmp/snmpd.conf在Ubuntu Linux系统上运行snmpd: rocommunity public snmpd正在本地主机上侦听。 从同一个系统,我正在运行: snmpwalk -v 1 -c public localhost 部分输出是: iso.3.6.1.2.1.92.1.1.1.0 = Gauge32: 1000 iso.3.6.1.2.1.92.1.1.2.0 = Gauge32: 1440 iso.3.6.1.2.1.92.1.2.1.0 = Counter32: 0 iso.3.6.1.2.1.92.1.2.2.0 = Counter32: 0 正如你所看到的,我只获得除了iso对象之外的所有数字OID。 我也尝试了使用-Of选项和snmptranslate的snmpwalk。 两者都产生与上述完全相同的OID:也就是说,对于iso的孩子,只有数字。 另外,除了iso之外,没有其他的根级对象。 这是正常的吗? 谢谢

如何解释一个摇摇欲坠的MySQL服务器的iostat

我们有一个组合的应用程序/ MySQL服务器已经开始崩溃。 现在,它被困在复制一个1.25亿行MySQL MyISAM表( INSERT INTO a_copy SELECT * FROM a with INSERT INTO a_copy SELECT * FROM a a_copy KEYS DISABLED on a_copy )。 我们已经将这个查询所涉及的工作作为一个小时,对克隆的生产虚拟机中的生产数据进行了基准testing。 但是,在生产中运行此作业时,复制查询已经运行了12个多小时,没有完成,随机地使每个MySQL查询比蜜糖慢(60秒以上,没有任何锁)。 从iostat输出 yyyy@xxxx:~$ iostat -mxdc 10 Linux 2.6.32-5-686 (xxxx) 12/24/14 _i686_ (4 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 5.24 0.00 1.34 13.43 0.00 80.00 Device: rrqm/s wrqm/sr/sw/s […]

Linux RPC删除注册

在CentOS-5.4上运行的程序(守护进程)运行良好,自己将RPC注册为程序191299版本10。 在计划外程序停止后,RPC注册仍然存在,所以程序无法重新启动,因为注销尝试导致错误: # rpcinfo -d 191299 10 rpcinfo: Could not delete registration for prog 191299 version 10 尽pipe重新启动成功, service portmap restart也没有帮助。 你可以请指教 – 如何强制RPC注册删除? 非常感谢!

OpenVPN的Python插件

我有一个使用位于远程服务器(不是OpenVPN服务器实例的主机)上的数据库进行身份validation的OpenVPN用户的任务。 我们使用Python作为我们所有工具的主要语言。 这个任务的一般解决scheme可以使用OpenVPN选项[b] auth-user-pass-verify [/ b],并带有我的python脚本的path来执行我想要的任何validation逻辑。 但是我的python脚本的执行可能需要一些时间,例如远程服务器很远,或者可能会严重计算用户身份validation。 我认为auth脚本可能需要几秒钟才能执行。 如您所知,OpenVPN是一个单线程应用程序,它使用非阻塞I / O来处理多个客户端。 这就是为什么当OpenVPN执行某个脚本时,它会停止所有的I / O操作并等待脚本执行完成。 如果我们有很长时间的validation脚本和大量的用户想要validation,我们可能会在OpenVPNnetworking中遇到性能问题。 如果OpenVPN支持延期授权操作,这将是一件好事。 它确实有这个支持,但只在插件系统。 所有现代的插件都使用它,例如openvpn-radius。 但是我不想在c / c ++中编写所有的逻辑,或者在使用其他语言编写OpenVPN插件时感到麻烦。 我认为好的解决scheme是用cm写这个OpenVPN插件,这个插件将使用延迟方法进行auth并调用python代码分离线程或进程。 这个python代码可以做些事情 – 使用db包装器,使用请求库等等。这个python代码不会阻止OpenVPN处理其他客户端。 我想我们可以在OpenVPN接入服务器中看到这样的事情,但是我想用劣质的OpenVPN服务器。 而Access Server不是开源的。 我可以尝试写这个OpenVPN的Python插件,但在开始之前,我决定做这个研究,问你:OpenVPN有一些方法来调用auth脚本而不停止处理其他networkingI / O? 我想听说我们有这个选项,不需要写这样的插件,但我真的无法find这样的东西。

使用2个磁盘恢复arrays中的RAID5

我不想以试错的方式来解决这个问题,因为我知道如果我想丢失数据,这是最好的办法。 我有一个4 * 2TB磁盘在RAID5服务器(是的,我知道这不是明智的 )在Ubuntu 14.04。 我的大部分数据都在RAID 5的/home ,而/在RAID 1上。 我在救援模式下启动服务器,但我无法弄清楚: 如果问题是软件或硬件, 如果有重新安装RAID来恢复这些数据的方法。 我仔细阅读了“ 恢复失败的软件RAID(raid.wiki.kernel.org)” ,但是由于我对自己的诊断并不是很有信心,因此我想对正在发生的事情以及如何继续进行一些正确的判断如果有什么事要做 我试过的唯一的方法就是安装我未安装的mds设备,该设备为md2 mount /dev/md2 /mnt/ ,但我无法安装md0和md3,因为我被告知/dev/md3: can't read superblock 。 到目前为止,这是我检查: 编辑分手-l root@rescue:/mnt# parted -l Model: ATA ST2000DM001-1CH1 (scsi) Disk /dev/sda: 2000GB Sector size (logical/physical): 512B/4096B Partition Table: gpt Disk Flags: Number Start End Size File system Name Flags 1 […]

从恶化的RAID 1中安装设备

我试图挂载设备formsRAID 1(在其他设备上创build),因为我需要从这个磁盘复制数据。 当我试图组装新的数组时,我收到一条消息: foo@bar# mdadm -A -R -v /dev/md23 /dev/sdb3 mdadm: looking for devices for /dev/md23 mdadm: /dev/sdb3 is identified as a member of /dev/md23, slot 32769. mdadm: No suitable drives found for /dev/md23 这是我的检查: foo@bar# mdadm -E /dev/sdb3 /dev/sdb3: Magic : a92b4efc Version : 1.2 Feature Map : 0x0 Array UUID : 4bd4d90c:5ca25815:87c31c08:a6288e71 Name […]

RedHat:无法安装GNOME桌面环境包

我在运行Red Hat 6.4版的机器上安装了GNOME桌面环境包。 more /etc/redhat-release Red Hat Enterprise Linux Server release 6.4 (Santiago) 在安装结束时,我收到了有关缺lessRPM-GPG-KEY-oracle目录的错误。 [Errno 14] Could not open/read file:///etc/pki/rpm-gpg/RPM- GPG-KEY-oracle 我该如何解决这个问题? [root@MY_BABY ~]# yum groupinstall "X Window System" "GNOME Desktop Environment" Loaded plugins: product-id, security, subscription-manager This system is receiving updates from Red Hat Subscription Management. ol6_UEK_latest | 1.2 kB 00:00 ol6_latest | 1.4 […]

安装mod_wsgi错误 – config.status:错误:无法findinput文件:Makefile.in

下面,我试图安装mod_wsgi。 [root@server]# ./configure –with-python=/usr/local/bin/python2.7 checking for apxs2… no checking for apxs… no checking Apache version… ./configure: line 1704: apxs: command not found ./configure: line 1704: apxs: command not found ./configure: line 1705: apxs: command not found ./configure: line 1708: /: is a directory ./configure: line 1877: apxs: command not found configure: creating ./config.status config.status: error: […]

在Ubuntu 12.04中缺lessApache2日志

我configuration了apache2的Ec2实例运行良好,突然间web服务器停止服务页面。 我检查了所有的日志,但没有帮助,或者我可能在这里失去了一些东西。 以下是apache2的错误日志 [Mon Jan 12 18:15:49 2015] [error] [client 76.164.202.114] PHP Notice: Undefined index: categoryname in /data/html/judaism.php on line 11 [Mon Jan 12 18:15:49 2015] [error] [client 76.164.202.114] PHP Notice: Undefined index: title in /data/html/judaism.php on line 18 [Mon Jan 12 18:16:29 2015] [error] [client 114.124.39.172] PHP Notice: Undefined variable: link in /data/html/article_emailconfig.php on […]