小编qua*_*nta的帖子

在交换机上启用 IGMP 侦听的情况下,使用 Wireshark 捕获多播数据

我正在尝试通过 Wireshark(实际上是 TShark)捕获多播流量,但是交换机启用了 IGMP 侦听,并且只会在具有活动 IGMP 订阅的端口上发送多播流量。

我目前正在通过一个单独的应用程序来解决这个问题,因为我希望记录的组保持打开状态,但我正在尝试设置一个系统来动态启动/停止记录数据,而这种额外的复杂性很痛苦。

有没有办法强制 Wireshark 为其录制的多播组发送 IGMP 订阅?

multicast wireshark igmp tshark

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

有没有办法将两个实例化的 systemd 服务作为一个单元来控制?

我有几个 python 网络服务,我试图在 Fedora 15 机器上运行。它们由 Paster 运行,启动它们的唯一区别是它们读取的配置文件。

这似乎很适合 systemd 的实例化服务,但我希望能够将它们作为一个单元进行控制。需要这两种服务的 systemd 目标似乎是解决这个问题的方法。启动目标确实会启动这两个服务,但停止目标会使它们继续运行。

这是服务文件:

[Unit]
Description=AUI Instance on Port %i
After=syslog.target

[Service]
WorkingDirectory=/usr/local/share/aui
ExecStart=/opt/cogo/bin/paster serve --log-file=/var/log/aui/%i deploy-%i.ini        
Restart=always
RestartSec=2
User=aui
Group=aui

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

这是目标文件:

[Unit]                    
Description=AUI           
Requires=aui@5001.service
Requires=aui@5002.service
After=syslog.target   

[Install]                 
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

systemd 甚至可以进行这种分组吗?

linux fedora systemd

7
推荐指数
1
解决办法
3276
查看次数

我如何知道谁/什么关闭了我的 CentOS VPS?

CentOS 5.7 VPS(在 OpenVZ 上运行)

今天早上我的 VPS 关闭了,我不知道为什么。我联系了我的 VPS 主机,他们表示服务器“已关闭”。他们重新启动了它,但我对它究竟是如何/为什么被关闭感到困惑。主持人没有自愿提供有关其关闭原因的信息/意见。

我检查了 /var/log/messages 并注意到以下内容:

Nov 23 11:12:13 echo shutdown[5748]: shutting down for system halt 
Nov 23 11:12:13 echo init: Switching to runlevel: 0 
Nov 23 11:12:13 echo saslauthd[15407]: server_exit     : master exited: 15407 
Nov 23 11:12:20 echo xinetd[12074]: Exiting... Nov 23 11:12:20 echo exiting on signal 15
Run Code Online (Sandbox Code Playgroud)

我检查了 /var/log/secure 并注意到以下内容:

Nov 23 11:12:13 echo userhelper[5748]: running '/sbin/halt' with root privileges on behalf of 'root' 
Nov 23 11:12:19 echo sshd[11982]: Received signal …
Run Code Online (Sandbox Code Playgroud)

linux vps centos openvz unexpected-shutdown

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

如何使用 Augeas 注释掉/取消注释配置文件中的一行?

假设我在/etc/syslog.conf文件中有以下内容:

# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.*                         /dev/console
Run Code Online (Sandbox Code Playgroud)

我想将其更改kern.* /var/log/kern.log为获取内核日志的人类可读时间戳。

木偶可以做到:

class syslog::config {
    file { "/etc/syslog.conf":
        ensure  => present,
        source  => "puppet:///modules/syslog/syslog.conf",
        require => Class["syslog::install"],
        notify  => Class["syslog::service"],
    }
}
Run Code Online (Sandbox Code Playgroud)

或者我也可以使用sed -i.

使用Augeas,我可以将此行附加到文件末尾:

class syslog::config {
    augeas { "syslogkern":
        context => "/files/etc/syslog.conf",
        changes => [
            "set entry[last()+1]/selector/facility kern",
            "set entry[last()]/selector/level *",
            "set entry[last()]/action/file '/var/log/kern.log'",
        ],
    }
}
Run Code Online (Sandbox Code Playgroud)

或修改目的地:

class syslog::config …
Run Code Online (Sandbox Code Playgroud)

configuration-management puppet augeas

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

使用 HAProxy 对 MySQL 进行负载平衡:读取通信数据包时出错?

我已经通过 xinetd 使用 HAProxy设置了负载平衡 MySQL 从站。2 个负载均衡器共享一个由 Pacemaker 管理的虚拟 IP:

crm configure show

node SVR120-27148.localdomain
node SVR255-53192.localdomain
primitive failover-ip ocf:heartbeat:IPaddr2 \
    params ip="192.168.5.9" cidr_netmask="32" \
    op monitor interval="5s" \
    meta is-managed="true"
primitive haproxy ocf:heartbeat:haproxy \
    params conffile="/etc/haproxy/haproxy.cfg" \
    op monitor interval="30s" \
    meta is-managed="true"
colocation haproxy-with-failover-ip inf: haproxy failover-ip
order haproxy-after-failover-ip inf: failover-ip haproxy
property $id="cib-bootstrap-options" \
    dc-version="1.0.12-unknown" \
    cluster-infrastructure="openais" \
    no-quorum-policy="ignore" \
    expected-quorum-votes="2" \
    stonith-enabled="false" \
    last-lrm-refresh="1342783084"
Run Code Online (Sandbox Code Playgroud)

/etc/haproxy/haproxy.cfg

global
    log 127.0.0.1 local1 debug …
Run Code Online (Sandbox Code Playgroud)

mysql connection load-balancing haproxy

7
推荐指数
1
解决办法
6727
查看次数

tcpdump:snaplen 设置为 0 但仍然得到“捕获期间数据包大小受限”?

由于这个问题,我将在 MySQL 服务器后端嗅探一些数据包,看看会发生什么:

# tcpdump -vv -s0 -c 100 -i bond0 tcp port 3306 and host 192.168.3.87 -w /home/quanta/3.87_aborted.pcap

如您所见,我将 snaplen 设置为 0,但仍然收到消息“捕获期间数据包大小受限”

MySQL Protocol
    Packet Length: 579
    Packet Number: 96
    text: 336
    text: 1004352
    text: 147619
    text: 336
[Packet size limited during capture: MySQL truncated]
Run Code Online (Sandbox Code Playgroud)

我的界面上的卸载设置:

# ethtool -k bond0
Offload parameters for bond0:
Cannot get device rx csum settings: Operation not supported
rx-checksumming: off
tx-checksumming: on
scatter-gather: on
tcp segmentation offload: on
udp fragmentation …
Run Code Online (Sandbox Code Playgroud)

networking tcp wireshark tcpdump tcp-offload-engine

7
推荐指数
1
解决办法
6980
查看次数

HAProxy,从 JDBC 池连接时客户端超时

我有一个 web 应用程序(Tomcat/Hibernate/DBCP 1.4),它运行对 MySQL 的查询,这对于特定的负载很有效,比如每秒 50 个查询。当我通过 HAProxy 路由相同的中等负载(仍然只使用一个数据库)时,我会失败,可能每 500 次查询就会失败。我的应用报告:

Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet successfully received from the server was 196,898 milliseconds ago.    The last packet sent successfully to the server was 0 milliseconds ago.
at sun.reflect.GeneratedConstructorAccessor210.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1117)
at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3567)
...
Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:3017) …
Run Code Online (Sandbox Code Playgroud)

mysql timeout jdbc haproxy

7
推荐指数
1
解决办法
6487
查看次数

haproxy acl - 仅接受来自特定 IP 的信息

我有 haproxy,需要向没有直接连接的服务器提供 smtp。

这是我的配置的一部分:

listen smtp     10.12.23.10:3025
    mode tcp
    server smtp     172.30.33.12:25
    #tcp-request inspect-delay 2s
    acl white_list src 10.146.5.247 10.146.5.201
    tcp-request content accept if white_list
    tcp-request content reject 
Run Code Online (Sandbox Code Playgroud)

任何连接到端口的尝试都会被拒绝。如果我删除行tcp-request content reject- 适用于所有人,但默认情况下 haproxy 接受一切。只允许两个或更多服务器进入的正确方法是什么?

我也试过以下几行:

tcp-request content reject unless whitelist
tcp-request content reject if !whitelist
Run Code Online (Sandbox Code Playgroud)

如果有帮助,我有 haproxy 1.4.18。

access-control-list haproxy

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

将 shell 脚本置于 systemd 控制之下

假设我有一个这样的 shell 脚本:-

#!/bin/sh
# cherrypy_server.sh

PROCESSES=10
THREADS=1 # threads per process
BASE_PORT=3035 # the first port used
# you need to make the PIDFILE dir and insure it has the right permissions
PIDFILE="/var/run/cherrypy/myproject.pid"
WORKDIR=`dirname "$0"`
cd "$WORKDIR"

cp_start_proc()
{
 N=$1
 P=$(( $BASE_PORT + $N - 1 ))
 ./manage.py runcpserver daemonize=1 port=$P pidfile="$PIDFILE-$N" threads=$THREADS request_queue_size=0 verbose=0
}

cp_start()
{
 for N in `seq 1 $PROCESSES`; do
  cp_start_proc $N
 done
}

cp_stop_proc()
{
 N=$1
 #[ -f "$PIDFILE-$N" ] && kill `cat …
Run Code Online (Sandbox Code Playgroud)

bash arch-linux init.d systemd

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

ufw 阻止 apt 和 dns

我在我的 Debian 系统上安装了 ufw,如下所示:

# aptitude install ufw
# ufw limit 22
# ufw allow 80
# ufw allow 443
# ufw enable
# ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing)
New profiles: skip

To                         Action      From
--                         ------      ----
20                         LIMIT       Anywhere
80                         ALLOW       Anywhere
443                        ALLOW       Anywhere
Run Code Online (Sandbox Code Playgroud)

一个简单的ping google.com失败,任何aptitude install都会失败。我在 serverfault 上搜索了答案。一种解决方案是允许 DNS 使用端口 53 - 没有帮助。或者ufw allow out 1024:65535/udp与端口 53 一起使用 - 没有帮助。

有效的是让我的 DNS …

domain-name-system debian firewall aptitude ufw

6
推荐指数
1
解决办法
6967
查看次数