Articles of linux

使用tc为多个客户端提供Linuxstream量整形

我需要在通过IPSEC连接的几个客户端之间划分带宽。 我发现这篇文章: https://jve.linuxwall.info/blog/index.php?post/2010/10/16/How-can-I-do-traffic-shaping-in-Linux-by-IP 和这个服务器错误的问题: 我怎样才能通过IP在Linux上进行stream量整形? 但是我的要求稍微复杂一点,我需要一些额外的build议。 如何将MARK分配给新客户 我不是唯一的,但有几个dynamic连接和接收IP的客户端。 我如何分配防火墙标记/类ID? 我目前的想法是将标记存储在共享内存中,并随每个新客户端增加。 听起来相对复杂。 我可以做到,但可能有一个更简单的解决scheme? 欢迎任何其他想法。 我知道的其他方法是从IP地址做一个散列。 在这种情况下,散列值将是16位(范围为tc类id),而IP包含32位。 不好看。 filter/分类器 2)我想每个VPN客户端有两个类。 一个用于优先级的stream量,另一个用于其他所有 我用两个标记来实现这一点 – MARKFW_ONE和MARKFW_TWO 2.1 SSHstream量:放入优先级队列(ssh,但不是scp): iptables -t mangle -A INPUT -i $DEV -s $IP -p tcp -m tos –tos 0x10 -j CONNMARK –set-mark ${MARKFW_ONE} 2.2 ICMP:放入优先队列: iptables -t mangle -A INPUT -i $DEV -s $IP -p […]

哪些文件被authconfig修改?

我正在尝试使用以下命令来识别哪些文件被编辑,但找不到。 authconfig –enablemd5 –enableshadow –enablecache –enablelocauthorize –enableldap –enableldapauth –ldapserver = ldap: //test-01.com –ldapbasedn = "dc = teste, dc = com, dc = us" – -enablemkhomedir -update 我只能将ldapconfiguration为authconfig命令。 我需要手动编辑文件。

Debian Linux的默认界面?

我有一个运行SNMP池的Debian机器,但我遇到了一个问题,让池使用特定的接口。 Debian机器有3个接口 allow-hotplug eth0 iface eth0 inet static address 10.1.1.3 netmask 255.255.255.0 gateway 10.1.1.1 dns-nameservers 10.1.1.6 allow-hotplug eth1 iface eth1 inet static address 10.1.1.7 netmask 255.255.255.0 allow-hotplug eth2 iface eth2 inet static address 10.1.1.8 netmask 255.255.255.0 在本机尝试从中获取SNMP信息的客户端机器上,它将允许来自10.1.1.3的SNMP请求,但由于某种原因,当Debian发送请求时,其使用10.1.1.7(eth1)。 我也注意到,当我从Debian机器ping客户端(10.1.1.5)时,Wireshark说ICMP数据包来自10.1.1.7。 为什么不使用列表中的第一个接口(10.1.1.3)? 路线: Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default 10.1.1.1 0.0.0.0 […]

OpenVPN的OpenVPN服务器和客户端configuration

我有一个带有WAN(eth1)和LAN(eth0)接口的OpenWRT路由器。 我想在这个路由器上安装一个openVPN服务器,所以我可以从WAN端访问到LAN端。 我的LAN(eth0)configuration了一个DHCP服务器,其静态IP为172.20.51.61/24。 当我连接任何一台PC到局域网(eth0)时,它的IP地址范围是172.20.51.100/24到172.20.51.150/24。 我已经安装openvpn easy rsa和其他必需的实用程序,也为客户端和服务器生成密钥。 我已经将这些密钥复制到客户端。 我想要的是一个非常基本的步骤和configuration,以获得一些信心,build立从客户端到服务器的连接。 基于networking的博客提到了这么多额外的信息,对于networking初学者来说,这变得很难遵循。 编辑:/ etc / easy-rsa / vars文件具有以下内容。 export EASY_RSA="/etc/easy-rsa" export OPENSSL="openssl" export PKCS11TOOL="pkcs11-tool" export GREP="grep" export KEY_CONFIG=`/usr/sbin/whichopensslcnf $EASY_RSA` export KEY_DIR="$EASY_RSA/keys" et PKCS11_MODULE_PATH="dummy" export PKCS11_PIN="dummy" export KEY_SIZE=2048 export CA_EXPIRE=3650 export KEY_EXPIRE=3650 export KEY_COUNTRY="IN" export KEY_PROVINCE="MH" export KEY_CITY="Pune" export KEY_ORG="My Org" export KEY_EMAIL="[email protected]" export KEY_OU="MyOrganizationalUnit" export KEY_NAME="EasyRSA" # […]

Nginx只允许目录结尾,没有index.html或index.php

正在设置一个nginx服务器。 我想添加一些location块,只允许index.html或index.php的父文件夹被提供,但会自己redirectindex.html或index.php 。 我也希望server条目将redirect以斜杠结尾的文件夹为非斜杠版本。 例如: http://www.example.com/about —> good http://www.example.com/about/ —> redirects to http://www.example.com/about http://www.example.com/about/index.html —> redirects to http://www.example.com/about 这里是我有的一个sites-available文件,缩写为MCVE,并删除任何额外的信息。 server { listen 80; root /var/www/html; index index.php index.html index.htm; ssi on; server_name example.com; location ~ /\. { access_log off; log_not_found off; deny all; } location ~ ~$ { access_log off; log_not_found off; deny all; } […]

bash脚本比较2件事

我的问题是,我必须检查$目录中包含哪些文件,然后我必须创build一个新的文件与我指定的名称,并比较名称不存在于此目录(比较2个目录)。 以下是我的代码: directory=$(pwd -L "/$nameProject") read -p "Enter repo name: " nameRepo #Check if repo name exists in $directory if [$(find "$directory/$nameProject" -path "$directory/$nameProject/*")==$("$directory/$nameProject/$nameRepo")]; then instruction… 谢谢你的帮助!

开源networking监控主要针对Linux云环境

您目前如何在云中监控您的Linuxnetworking? 我们运行几个(读取7个)CentOS实例,将几个网站托pipe起来,就像几个MySQL实例一样。 我试图find一个开源(或非常经济实惠的闭源)解决scheme来监控磁盘空间,networking利用率,CPU利用率和服务监控。 如果可以: Ping \ Monitor网站 尼斯仪表板,我们可以把一个大屏幕上,我们的团队来监测。 (超级奖金)可扩展仪表板,我们可以添加诸如“今天的销售”的东西。 (很高兴)也能够监视Windows Server \ MS SQL Server实例。 (回到我的Windows主机的日子里,我们使用了一个名为IPMonitor的工具,我试图find类似的,基于Linux的,希望更实惠。)

R包 – 我应该挂载/ usr / share / R / library

我们有一个小型Linux机器群(~15),最多可容纳20个用户。 在过去的几年中,我们已经编写了几个基本的R脚本来进行基本的统计分析。 我作为新手系统pipe理员的问题是软件包pipe理。 目前,如果有人写一个新的脚本需要一个新的包,这个包需要安装在所有用户的所有机器上。 这似乎是一个相当穴居人的策略(我们也为python和perl模块做这个)。 我目前正在将我们的操作系统从rhel5升级到CentOS6,并且会正确地做事。 这是我最初的想法? 在第一台机器上的R(有CentOs6正在运行) .libPaths()指向“/ usr / lib64 / R / library”“/ usr / share / R / library” 我打算为所有包含行.libPaths("/usr/share/R/library" )用户创build一个默认的.Rprofile 。 我想这会默认安装软件包到上述目录。 目前对usr/share/R/library/的写入权限是drwxr-xr-x 。 第一个问题应该是所有的用户都可以写入这个目录或者以root用户的身份安装R包。 在随后的机器上,我将安装CentOS6,然后我想在所有其他系统上使用nfs来automount / usr / share / R /指向margay:/ usr / share / R /。 所以我更新机器2上的操作系统( lynx )并安装R.如何在lynx上自动挂载/ usr / share / R /指向等价的目录。 这似乎是一个明智的解决scheme? 如果我在margay安装一个新的软件包,我能够自动运行在其他机器上使用这个软件包的任何R脚本吗? […]

从MBR到GPT分区的Clonezilla

所以我有一个centos6.5盒的clonezilla图像。 它是32GB的大小。 我已经恢复了很多系统,但是它们都已经足够小,仍然可以使用MBR。 所以当恢复时,我只是使用高级模式的-k2选项使图像填满整个磁盘。 我现在正在尝试做同样的事情。 将此32GB映像还原到服务器上的2TB GPT分区。 -k2选项不适用于GPT系统。 build议使用-k选项,其中clonezilla不创build分区。 我试图find使用这个选项没有任何运气的例子。 我假设我需要使用gparted或其他实用程序来创build分区,但不知道过去需要什么。 任何帮助,将不胜感激。

两台主机之间的Syslog-ng和Stunnel(连接被拒绝)

我想在我的LAN上的主机和我的DMZ中的主机之间设置syslog-ng,但不能完全弄清楚configuration。 stunnelconfiguration似乎是正确的。 如果我在两台机器上closures了系统日志,我可以在dmzhost上运行nc -l 5140 ,并使用telnet通过LAN端的通道连接。 在任何一个连接上键入文本都会在两台机器上回显。 当我在任一台机器上启动syslog-ng时,出现有关已经使用的地址和连接被拒绝的错误(111) 。 我读过stunnel需要在syslog-ng之前启动,但似乎并不重要,因为它无法通过任何方式。 我试图用下面的configuration来澄清。 有什么想法吗? 局域网日志服务器(stunnel) # /etc/stunnel/dmz.conf client = yes cert = /etc/stunnel/dmz/stunnel.pem pid = /var/run/stunnel4/dmz.pid [lan] # connect port 55514 on the remote end to LAN localhost on port 5140 connect = dmzhost.ip.addr:55514 accept = 127.0.0.1:5140 局域网syslog-ngconfiguration # /etc/syslog-ng/syslog-ng.conf # dump data from port 5140 to […]