AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-57332

David W's questions

Martin Hope
David W
Asked: 2020-12-13 07:28:10 +0800 CST

Apache 试图用 SELinux 阻塞的端口 80 做什么?

  • 2

我有一个运行小型 php 和 mysql 应用程序的小型 Web 服务器(CentOS 8)。它还运行作为辅助 MX 运行的 Nagios、BIND 和 Postfix。

一切似乎都“工作”,我从来没有注意到任何问题。我能够通过端口 443 加载 Nagios 和其他 php 应用程序。如果我通过端口 http / 端口 80 加载 URL,Apache 被配置为重定向到 443,并且做得同样好。

但是,selinux 会定期记录以下 AVC,表明端口 80 存在一些问题:

time->Sat Dec 12 01:55:16 2020
type=AVC msg=audit(1607756116.608:1381369): avc:  denied  { name_connect } for  pid=631936 comm="httpd" dest=80 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:http_port_t:s0 tclass=tcp_socket permissive=0

查看/var/log/httpd/error_log,我同时看到同一个 pid 对应的 Permission Denied :

[Sat Dec 12 01:55:16.608941 2020] [core:warn] [pid 631936] (13)Permission denied: AH00056: connect to listener on [::]:80

有没有办法让我追查到,Apache 试图做的到底是什么被阻止了?正如我所提到的,似乎没有任何东西被破坏,所以我没有尝试构建一个模块来允许这个。但我想在这里找到 AVC denied 消息的根本原因,或者:

  • 如果它是无害的并且实际上应该被允许,则允许它,或者
  • 配置 Apache 以停止尝试做它正在尝试做的任何事情
centos8 selinux
  • 1 个回答
  • 409 Views
Martin Hope
David W
Asked: 2015-11-03 02:57:29 +0800 CST

Apache:设置 php-fpm chroot 后“找不到文件”

  • 8

我正在努力完成在 CentOS 7 上运行 Apache 2.4 在 php-fpm 上实现 chroot 的最后一步。

我已经成功设置并测试了没有 chroot 的 php-fpm 连接。但是,一旦我将 chroot 指令添加到我的 /etc/php-fpm.d/file.conf 中的 conf 文件中,我就会像许多其他人所经历的那样得到一个“找不到文件” 。

这是我的 php-fpm 配置文件:

[site1.com]
user = user1
group = user1
listen = /var/run/php-fpm/site1.com.sock
listen.owner = user1
listen.group = user1
php_admin_value[disable_functions] = exec,passthru,shell_exec,system
php_admin_flag[allow_url_fopen] = on
php_admin_value[short_open_tag] = On
php_admin_value[doc_root] = /
php_admin_value[error_log] = /logs/php-errors
php_admin_flag[log_errors] = on
pm = ondemand
pm.max_children = 5
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 3
chroot = /home/www/site1.com
chdir = /www
catch_workers_output = yes

如您所见,在设置 chroot 后,我​​更改了chdir指令,使其相对于 PHP 根目录。(系统路径是/home/www/site1.com/www,这就是chdir在启用chroot指令之前设置的)。

这是我的相关 http.d/site1.conf 文件:

<VirtualHost *:80>
        ServerAdmin [email protected]
        ServerName site1.com
        ServerAlias www.site1.com
        DocumentRoot /home/www/site1.com/www
        <Directory "/home/www/site1.com/www">
                Options Includes FollowSymLinks
                DirectoryIndex index.php
                AllowOverride All
                Order allow,deny
                Allow from all
        </Directory>
ErrorLog /home/www/site1.com/logs/errors
CustomLog /home/www/site1.com/logs/access_log common
        <FilesMatch "\.php$">
                SetHandler "proxy:unix:///var/run/php-fpm/site1.com.sock|fcgi://site1.com"
        </FilesMatch>
LogLevel trace3
</VirtualHost>

我在 httpd.d/site.conf 文件中打开了 LogLevel,下面是一些有趣的输出:

  [Mon Nov 02 10:42:52.665284 2015] [proxy:trace2] [pid 14286] proxy_util.c(2007): [client 74.221.189.99:16486] *: found reverse proxy worker for unix:///var/run/php-fpm/site1.com.sock|fcgi://site1.com/home/www/site1.com/www/index.php
    [Mon Nov 02 10:42:52.665292 2015] [proxy:trace2] [pid 14286] proxy_util.c(2041): [client 74.221.189.99:16486] *: rewrite of url due to UDS(/var/run/php-fpm/site1.com.sock): fcgi://site1.com/home/www/site1.com/www/index.php (proxy:fcgi://site1.com/home/www/site1.com/www/index.php)
    [Mon Nov 02 10:42:52.665295 2015] [proxy:debug] [pid 14286] mod_proxy.c(1117): [client 74.221.189.99:16486] AH01143: Running scheme unix handler (attempt 0)
    [Mon Nov 02 10:42:52.665300 2015] [proxy_ajp:debug] [pid 14286] mod_proxy_ajp.c(713): [client 74.221.189.99:16486] AH00894: declining URL fcgi://site1.com/home/www/site1.com/www/index.php
    [Mon Nov 02 10:42:52.665304 2015] [proxy_fcgi:debug] [pid 14286] mod_proxy_fcgi.c(948): [client 74.221.189.99:16486] AH01076: url: fcgi://site1.com/home/www/site1.com/www/index.php proxyname: (null) proxyport: 0
    [Mon Nov 02 10:42:52.665307 2015] [proxy_fcgi:debug] [pid 14286] mod_proxy_fcgi.c(955): [client 74.221.189.99:16486] AH01078: serving URL fcgi://site1.com/home/www/site1.com/www/index.php
    [Mon Nov 02 10:42:52.665311 2015] [proxy:debug] [pid 14286] proxy_util.c(2200): AH00942: FCGI: has acquired connection for (*)
    [Mon Nov 02 10:42:52.665316 2015] [proxy:debug] [pid 14286] proxy_util.c(2253): [client 74.221.189.99:16486] AH00944: connecting fcgi://site1.com/home/www/site1.com/www/index.php to site1.com:8000
    [Mon Nov 02 10:42:52.665320 2015] [proxy:debug] [pid 14286] proxy_util.c(2286): [client 74.221.189.99:16486] AH02545: fcgi: has determined UDS as /var/run/php-fpm/site1.com.sock
    [Mon Nov 02 10:42:52.665420 2015] [proxy:debug] [pid 14286] proxy_util.c(2419): [client 74.221.189.99:16486] AH00947: connected /home/www/site1.com/www/index.php to httpd-UDS:0
    [Mon Nov 02 10:42:52.668135 2015] [proxy_fcgi:error] [pid 14286] [client 74.221.189.99:16486] AH01071: Got error 'Primary script unknown\n'
    [Mon Nov 02 10:42:52.668179 2015] [proxy_fcgi:trace1] [pid 14286] util_script.c(599): [client 74.221.189.99:16486] Status line from script 'index.php': 404 Not Found
    [Mon Nov 02 10:42:52.668237 2015] [http:trace3] [pid 14286] http_filters.c(992): [client 74.221.189.99:16486] Response sent with status 404
    [Mon Nov 02 10:42:52.668284 2015] [proxy:debug] [pid 14286] proxy_util.c(2215): AH00943: FCGI: has released connection for (*)

php 错误日志文件中没有显示任何内容。

所以,在这一切之后,

  • 为什么我仍然收到“找不到文件”错误消息?
  • 更好的是,我该如何解决它,或者至少,我如何更好地解决我的问题?
apache-2.4
  • 4 个回答
  • 24509 Views
Martin Hope
David W
Asked: 2015-11-01 03:44:43 +0800 CST

chroot php-fpm 进程到用户家

  • 4

我正在从单个 PHP 实例移动位于单个服务器上的每个网站(因此所有网站中的所有文件都归 apache 所有,并且仅安装了默认的 php 库而没有安装 php-fpm) ...我正在为每个单独的网站安装一个 php-fpm 池。

更好的安全性和网站分离是我的目标,最大的目标是 1 个网站中的 PHP 脚本将无法从另一个网站访问 PHP 脚本。

我显然做错了什么。

我的环境:

  • CentOS 7
  • PHP 5.4.16
  • 阿帕奇 2.4.6

这是一个示例 php-fpm 池配置文件:

[root@host]# cat /etc/php-fpm.d/website1.com.conf 
    [website1.com]
    user = user1
    group = user1
    listen = /var/run/php-fpm/website1.com.sock
    listen.owner = user1
    listen.group = user1
    php_admin_value[disable_functions] = exec,passthru,shell_exec,system
    php_admin_flag[allow_url_fopen] = on
    php_admin_value[short_open_tag] = On
    pm = ondemand
    pm.max_children = 5
    pm.start_servers = 2
    pm.min_spare_servers = 1
    pm.max_spare_servers = 3
    chdir = /home/www/website1.com/

这是它在 Apache 中对应的 vhost 文件:

[root@host]# cat /etc/httpd/conf.d/website1.com.conf 
        <VirtualHost *:80>
                ServerAdmin [email protected]
                ServerName website1.com
        ServerAlias www.website1.com
        DocumentRoot /home/www/website1.com/www
                <Directory "/home/www/website1.com/www">
                        Options Includes FollowSymLinks
                        AllowOverride All
                        Order allow,deny
                        Allow from all
                </Directory>
        ErrorLog /home/www/website1.com/logs/errors
        CustomLog /home/www/website1.com/logs/access_log common
                <FilesMatch "\.php$">
                        SetHandler "proxy:unix:///var/run/php-fpm/website1.com.sock|fcgi://website1.com/"
                </FilesMatch>

        </VirtualHost>

所有文件和文件夹都由 user1 单独拥有(该组也设置为 user1)。

我在“website2”中有一个 PHP 脚本,它仍然能够访问“website1”内容。“website2”的 php-fpm 池配置文件中的设置和“website2”Apache vhost 配置文件中的设置与网站 1 相同(除了不同的文件夹路径、主目录、chroot 等...)。

这是我的测试脚本,位于 /home/www/website2/www/ 并可通过 website2.com 域名访问:

<?php
$test = file_get_contents('/home/www/website1.com/www/wp-config.php');
echo $test;
#$files = scandir('/home/www');
#print_r($files);
?>

然而,这个脚本的输出有点出乎意料。我没有看到 wp-config.php 的全部内容。相反,我看到的是文件中某个点之外的所有内容(如果您熟悉 wp-config.php,我会在define('SECURE_AUTH_KEY','foo')条目之后看到所有内容)。

为什么这个在“user2”下运行的测试脚本可以访问并回显在“user1”目录中找到的 wp-config.php 的一些内容?我认为该chdir = /home/www/website1.com/指令会阻止这种事情。

php-fpm
  • 1 个回答
  • 8857 Views
Martin Hope
David W
Asked: 2015-10-08 05:02:53 +0800 CST

计算接收 Postfix 邮件服务器成功交付与失败

  • 0

我正在尝试计算我的邮件服务器处理多少电子邮件以成功传递的粗略百分比与当电子邮件来自配置错误的邮件服务器、垃圾邮件等时它在现场丢弃的数量……

我首先在 /var/log/ 目录中运行了以下 2 个命令(以捕获邮件日志中的条目以及已轮换出的旧邮件日志):

grep "dsn=2.0.0, status=sent (delivered to maildir)" * | wc -l
7814

grep "NOQUEUE: reject: RCPT" * | wc -l
13338

但后来我认为这些条目可能会重复(尤其是 NOQUEUE)。因此,我运行了以下稍作修改的命令,以查看可能存在多少差异。

grep "dsn=2.0.0, status=sent (250 2.0.0 from MTA(" * | wc -l
8839

查看我的邮件日志条目,我收到了多个 NOQUEUE 条目以进行传递尝试。但我认为这是因为发送邮件服务器有时会尝试多次投递。例如:

Aug 10 10:48:24 mail postfix/smtpd[7159]: NOQUEUE: reject: RCPT from unknown[112.198.103.178]: 450 4.7.1 Client host rejected: cannot find your reverse hostname, [112.198.103.178]; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<112.198.103.178>
Aug 10 10:48:24 mail postfix/smtpd[7159]: NOQUEUE: reject: RCPT from unknown[112.198.103.178]: 454 4.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<112.198.103.178>
Aug 10 10:48:24 mail postfix/smtpd[7159]: NOQUEUE: reject: RCPT from unknown[112.198.103.178]: 454 4.7.1 <[email protected]>: Relay access denied; from=<[email protected]> to=<[email protected]> proto=ESMTP helo=<112.198.103.178>
Aug 10 10:48:24 mail postfix/smtpd[7159]: disconnect from unknown[112.198.103.178]

所以我有两个问题:

  1. 我应该担心使用 grep 捕获重复条目NOQUEUE: reject: RCPT吗?
  2. 在过滤这些日志条目并得出正确的数字时,我应该考虑更好的方法吗?
  3. 我如何确定每次成功交付的唯一行。看看两者之间的差异grep "dsn=2.0.0, status=sent (delivered to maildir)" * | wc -l,grep "dsn=2.0.0, status=sent (250 2.0.0 from MTA(" * | wc -l我们可以看出有差异。
bash
  • 1 个回答
  • 36 Views
Martin Hope
David W
Asked: 2015-09-10 13:33:24 +0800 CST

从失败的 RAID 1 中恢复文件 - 如果源文件大小较大,我如何 rsync

  • 0

我有 2 个位于镜像 RAID 上的驱动器。服务器崩溃(阵列失败)并且没有备份。客户设置了 Carbonite,但未能更新他们的计划,该计划于去年 7 月到期。现在他们被一个宕机的服务器困住了,没有备份。

我拉了驱动器,当我使用 SATA 到 USB 适配器将它们单独连接到我的计算机时,它们都会出现。

两个驱动器显然都有问题,但我已经能够从其中一个驱动器中恢复大部分(几乎所有)文件。

恢复目的地是我办公室的 NAS。

现在,我想尝试从第二个驱动器恢复。

我认为仅在源(第二个硬盘)文件大小较大的情况下覆盖目标 NAS 上的文件才有意义。我的理论是,如果文件在第一个驱动器上损坏但在第二个驱动器上没有损坏,它们会更小(反之亦然,第一个驱动器上的好文件在第二个驱动器上是坏的)。

这是一个愚蠢的理论吗?我是否应该停止像白痴一样,为“磁盘 1”和“磁盘 2”创建 2 个单独的目录并让客户端解决?

如果我的想法是合理的,我将如何使用 rsync 来解决这个问题?我通常知道如何使用 rsync,如果文件大小不同或文件时间戳不同,我知道如何使用 rsync,但我不知道如果(且仅当)源时如何进行条件复制比目的地大。

rsync
  • 2 个回答
  • 192 Views
Martin Hope
David W
Asked: 2015-08-21 04:29:01 +0800 CST

为什么 Yahoo DMARC 报告显示 DKIM 对来自 Google 服务器的电子邮件有效?

  • 2

我的以下问题的域名是 developmentcents.com,我在 CentOS 7 上运行我自己的 Postfix 实现。

几个月来我一直遇到问题,我从我的邮件服务器(在 Linode VPS 上运行 Postfix)发送的电子邮件有时(并非总是或什至大部分时间)会进入某人的垃圾邮件文件夹。这些不是群发消息,而且通常是我发送给过去已经通信过的人的电子邮件。这伤害了我的生意,我正在努力追根究底。

出于这个原因,我在几天前实施了 DKIM,然后在昨天实施了 DMARC。

我从雅虎收到的第一份报告很有趣:来自“developcents.com”的 3 封电子邮件是从 Google 拥有的 IP 地址发送的。更有趣的是 DKIM 传递了这些电子邮件(而 SPF 没有传递)。这里有 1 个例子:

<record>
  <row>
    <source_ip>209.85.212.170</source_ip>
    <count>1</count>
    <policy_evaluated>
      <disposition>none</disposition>
      <dkim>pass</dkim>
      <spf>fail</spf>
    </policy_evaluated>
  </row>
  <identifiers>
    <header_from>developcents.com</header_from>
  </identifiers>
  <auth_results>
    <dkim>
      <domain>developcents.com</domain>
      <result>pass</result>
    </dkim>
    <spf>
      <domain>gmail.com</domain>
      <result>pass</result>
    </spf>
  </auth_results>
</record>

这是该IP地址解析的地方(谷歌):

$ host 209.85.212.170
    170.212.85.209.in-addr.arpa domain name pointer mail-wi0-f170.google.com.

我已经在我自己的邮件客户端中仔细检查了我的设置,以确保它是通过我自己的 SMTP 服务器而不是通过 Google/Gmail 连接的。

为什么来自 Google 系统的电子邮件会有“developcents.com”邮件发件人标头,此外,为什么 DKIM 检查该电子邮件会通过?

dkim
  • 1 个回答
  • 1176 Views
Martin Hope
David W
Asked: 2015-03-20 07:16:10 +0800 CST

Proftpd ssh 基于密钥的身份验证不起作用

  • 1

我已经设置了一个带有 mod_sftp 的新 proftpd 服务器以支持 SSH,当我使用密码时我可以登录。但是当我尝试使用我的 SSH 密钥时,我无法连接。

这是完整的proftpd.conf 文件:

[root@myers log]# cat /usr/etc/proftpd.conf
ServerName                      "Develop CENTS"
ServerType                      standalone
DefaultServer                   on

Port                            2215

UseIPv6                         off

# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask                           022

MaxInstances                    15

User                            nobody
Group                           nobody

DefaultRoot ~

AllowOverwrite          on

# Bar use of SITE CHMOD by default
<Limit SITE_CHMOD>
  DenyAll
</Limit>

<IfModule mod_auth_pam.c>
    AuthPAM off
</IfModule>

<IfModule mod_sftp.c>
SFTPEngine on
SFTPHostKey /usr/etc/proftpd/rsa_key
SFTPHostKey /usr/etc/proftpd/dsa_key
Port 2216
SFTPAuthMethods publickey      
MaxLoginAttempts 4
SFTPCompression delayed

        <VirtualHost www.mydomain.com>
        SFTPAuthorizedUserKeys file:/home/mydomain.com/.ssh/authorized_keys
        DefaultRoot ~
        </VirtualHost>
</IfModule>

这是我在 /var/log/messages 中看到的一行,无论使用哪种身份验证方法:

Mar 19 10:41:51 myers proftpd[29675]: myhost.com - unable to create namebind for 'www.mydomain.com' to IPAddress#21: No such file or directory

除此之外,当我尝试使用 SSH 密钥连接时,日志文件中唯一出现的是客户端确实到达服务器并打开了 SSH2 会话,但下一行表明 SSH2 会话已关闭。

有任何想法吗?

sftp
  • 2 个回答
  • 3868 Views
Martin Hope
David W
Asked: 2015-03-16 01:21:00 +0800 CST

使用 systemd 启动程序

  • 3

我正在尝试将最新版本的 ProFTPd (1.3.5) 安装到 CentOS 7 机器上,最后不得不手动配置和安装。原因是 EPEL 的 proftpd 版本不包括mod_sftp(尽管它确实包括mod_tls)。这是proftpd -l安装 EPEL 版本时的输出:

[root@blah /]# proftpd -l
Compiled-in modules:
  mod_core.c
  mod_xfer.c
  mod_rlimit.c
  mod_auth_unix.c
  mod_auth_file.c
  mod_auth.c
  mod_ls.c
  mod_log.c
  mod_site.c
  mod_delay.c
  mod_facts.c
  mod_dso.c
  mod_ident.c
  mod_readme.c
  mod_auth_pam.c
  mod_tls.c
  mod_memcache.c
  mod_cap.c
  mod_ctrls.c
  mod_lang.c

使用这个人的方法,我认为他正在使用 CentOS 6,我配置了 proftpd 如下:

./configure --prefix=/usr --with-includes=/usr/local/ssl/include --with-libraries=/usr/local/ssl/lib --enable-openssl --with-modules=mod_sftp --enable-dso

make然后我能够make install成功运行。

问题是它看起来不像创建任何 systemd 脚本:

[root@localhost]# systemctl start proftpd.service
Failed to issue method call: Unit proftpd.service failed to load: No such file or directory.

但是,二进制文件存在,并且系统知道它:

[root@localhost]# which proftpd
/sbin/proftpd

/etc/init.d此外,在或中似乎没有任何初始化脚本/usr/etc/init.d。

当我单独运行二进制文件时,它启动得很好。

但我想得到某种工作的 init 或 systemd 脚本为此工作,以便它在启动时启动(并且我将更容易管理服务)。

关于如何做到这一点的任何想法?

[免责声明:几天前,我在 Stack Overflow 上发布了同样的问题,认为这是一个更以编程为中心的问题,但没有看到任何活动,我认为这与系统管理相关,因此在这里相关也]

centos
  • 1 个回答
  • 4085 Views
Martin Hope
David W
Asked: 2015-03-06 06:53:09 +0800 CST

没有 IPv6 的权威名称服务器注册

  • 1

我正在考虑将第三个权威名称服务器添加到我们的托管基础​​设施中。

但是,虽然前 2 个 DNS 服务器同时具有 IPv4 和 IPv6 地址,但第 3 个 DNS 服务器将只有一个 IPv6 地址。

鉴于 DNS 的工作原理,我不怀疑这会是一个问题(如果某人/某台计算机试图通过 IPv6 访问第三个 DNS 服务器,它只会尝试联系其他 2 个名称服务器之一)。

但是,我想获得其他成员的反馈,看看这是否真的是一个好主意。坚持使用两个都支持 IPv6 的 DNS 服务器会更好,还是添加仅支持 IPv4 的第三个 DNS 服务器会更好?

请注意,我考虑添加另一台 DNS 服务器的原因不是由于现有 2 台服务器上的负载或 DNS 流量过大。相反,出于冗余目的,我想从我们的主要硬件提供商的网络中获取至少 1 个 DNS 服务器。

我们的硬件提供商 (Linode) 的整个系统极不可能出现故障,而且我们的两个 DNS 服务器都不太可能出现故障,因为它们位于美国 2 个不同地区的 2 个独立数据中心,但理论仍然是有可能的。

domain-name-system
  • 1 个回答
  • 53 Views
Martin Hope
David W
Asked: 2015-02-20 08:42:17 +0800 CST

将 Google Drive 映射为网络驱动器而不同步

  • 2

我正在尝试了解是否有任何方法可以将客户端 Windows 工作站上的 Google Drive 映射为网络驱动器,而无需实际同步任何文件。

我们有一个与 Google Drive 同步的现场 NAS,所以我们希望做的是在员工远程工作时允许访问 Google Drive,从而消除对 VPN 的需求。

这可能吗?

我知道如何安装 Google Drive 并有选择地同步文件夹,但这不是一个可行的选择,因为所有文件夹都需要显示在员工工作站上,以便他们可以轻松浏览/复制/保存这些文件夹中的文件。

g-suite
  • 1 个回答
  • 1816 Views
Martin Hope
David W
Asked: 2014-09-12 12:00:11 +0800 CST

使用 amavisd-new + Spamassassin 启用贝叶斯过滤器

  • 7

我在 CentOS 上运行 Postfix 邮件服务器,并试图启用 Spamassassin 的贝叶斯过滤器,但我似乎遗漏了一些东西。

我们正在运行 amavisd-new 2.9.1:

Name        : amavisd-new
Arch        : noarch
Version     : 2.9.1
Release     : 2.el6
Size        : 3.0 M
Repo        : installed
From repo   : epel

.... 使用 Spamassassin 3.3.1:

Installed Packages
Name        : spamassassin
Arch        : x86_64
Version     : 3.3.1
Release     : 3.el6
Size        : 3.1 M
Repo        : installed
From repo   : updates

据我所知,我唯一的 spamassassin 配置文件位于 /etc/mail/spamassassin。

此目录中的 local.cf 文件包含以下内容:

# These values can be overridden by editing ~/.spamassassin/user_prefs.cf
# (see spamassassin(1) for details)

# These should be safe assumptions and allow for simple visual sifting
# without risking lost emails.

required_hits 5
report_safe 0
rewrite_header Subject [SPAM]
use_bayes 1
bayes_auto_learn 1
bayes_auto_expire 0
bayes_path /var/amavis/var/.spamassassin/

amavisd.conf 位于 /etc/amavisd/ 中,我想我已经包含了我需要的所有配置,以便“打开”spamassassin,但我并不肯定。

我读过的一些网站表明,贝叶斯过滤器需要使用 100 条消息(垃圾邮件和非垃圾邮件)进行训练sa-learn,但我看到至少 1 个网站表明过滤器需要针对 200 条消息进行训练。也就是说,我可以确认我已经针对至少 100 条垃圾邮件训练了过滤器。

所以现在,每当我收到一封电子邮件,在对这 100 条垃圾邮件进行过滤器训练后,我仍然在邮件标题中看到没有任何迹象表明正在使用贝叶斯过滤器:

X-Virus-Scanned: amavisd-new at developcents.com
X-Spam-Flag: NO
X-Spam-Score: -0.525
X-Spam-Level:
X-Spam-Status: No, score=-0.525 tagged_above=-999 required=4
    tests=[HK_RANDOM_FROM=1, HTML_MESSAGE=0.001, RP_MATCHES_RCVD=-2.499,
    SPF_SOFTFAIL=0.972, URIBL_BLOCKED=0.001] autolearn=unavailable

即使贝叶斯还没有完全训练并准备好被“使用”,我不应该在 X-Spam-Status 部分看到一个标签,表明它是否正在使用贝叶斯过滤器吗?

(对于它的价值,我在上面发布部分邮件标题的电子邮件是垃圾邮件,显然没有被标记为这样)

有什么我想念的吗?

spamassassin
  • 1 个回答
  • 11716 Views
Martin Hope
David W
Asked: 2014-07-03 06:01:08 +0800 CST

pfSense OpenVPN DNS 解析

  • 2

看来我的问题是一个常见问题,我已经阅读了有关服务器故障的几个答案,但我似乎无法弄清楚我的问题。

我的一个客户正在运行 pfSense 2.1.4,内部 IP 地址为 10.1.10.1。本地网络是 10.1.10.0/24。DHCP 服务器是位于 10.1.10.2 的 Synology NAS 设备。\\nnh通过访问NAS (10.1.10.2),可以在 Windows 客户端计算机上的本地网络中访问所有文件共享。

OpenVPN 在 pfSense 上运行,远程客户端能够成功连接。但是,连接后,您可以访问 NAS \\10.1.10.2,客户端无法分别使用 或 的短 DNS 名称(也不是 FQDN)\\nnh连接\\nnh.local。

OpenVPN 在 UDP 协议上以 TUN 模式运行(但这在你实际连接后并没有什么不同,对吧?)它被配置为提供nnh.local. 此外,它被配置为仅向客户端提供 1 个 DNS 服务器,10.1.10.2.

最后,为了更好地衡量,在 pfSense 上 OpenVPN 服务器的高级配置中,我有这行代码:

push "dhcp-option DNS 10.1.10.2"

对我来说很明显,DNS 服务器已正确分配给客户端 - 以下是ipconfig /all我连接到 VPN 时 Windows 7 客户端上的输出。\\nnh但是( )处的文件共享/NAS 的 DNS 名称解析\\10.1.10.2仍然无法正常工作,我无法弄清楚。

我已经审查了OpenVPN 和 DNS。如何?和本地域 DNS 解析无法在 pfSense 盒子上使用 OpenVPN。

C:\Users\David>ipconfig /all

Windows IP Configuration

   Host Name . . . . . . . . . . . . : Develop-CENTS
   Primary Dns Suffix  . . . . . . . :
   Node Type . . . . . . . . . . . . : Hybrid
   IP Routing Enabled. . . . . . . . : No
   WINS Proxy Enabled. . . . . . . . : No
   DNS Suffix Search List. . . . . . : nnh.local

Ethernet adapter Local Area Connection 3:

   Connection-specific DNS Suffix  . : nnh.local
   Description . . . . . . . . . . . : TAP-Windows Adapter V9
   Physical Address. . . . . . . . . : 00-FF-94-49-12-A7
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   Link-local IPv6 Address . . . . . : fe80::ed68:d270:ca2:3076%28(Preferred)
   IPv4 Address. . . . . . . . . . . : 10.1.5.6(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.252
   Lease Obtained. . . . . . . . . . : Wednesday, July 02, 2014 9:42:41 AM
   Lease Expires . . . . . . . . . . : Thursday, July 02, 2015 9:42:41 AM
   Default Gateway . . . . . . . . . :
   DHCP Server . . . . . . . . . . . : 10.1.5.5
   DHCPv6 IAID . . . . . . . . . . . : 285278100
   DHCPv6 Client DUID. . . . . . . . : 00-01-00-01-14-36-D0-79-48-5D-60-3B-CF-5B

   DNS Servers . . . . . . . . . . . : 10.1.10.2
                                       10.1.10.2
   NetBIOS over Tcpip. . . . . . . . : Enabled

Wireless LAN adapter Wireless Network Connection 2:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Microsoft Virtual WiFi Miniport Adapter
   Physical Address. . . . . . . . . : 6A-5D-60-3B-CF-5B
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes

Ethernet adapter Local Area Connection:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : JMicron PCI Express Gigabit Ethernet Adapter
   Physical Address. . . . . . . . . : 20-CF-30-6A-59-DF
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes

Wireless LAN adapter Wireless Network Connection:

   Connection-specific DNS Suffix  . :
   Description . . . . . . . . . . . : Atheros AR9285 Wireless Network Adapter
   Physical Address. . . . . . . . . : 48-5D-60-3B-CF-5B
   DHCP Enabled. . . . . . . . . . . : Yes
   Autoconfiguration Enabled . . . . : Yes
   IPv6 Address. . . . . . . . . . . : 2600:1004:b11f:24e:7599:d89b:b76c:2471(Preferred)
   Temporary IPv6 Address. . . . . . : 2600:1004:b11f:24e:5050:5e70:6fb:f2cd(Preferred)
   Link-local IPv6 Address . . . . . : fe80::7599:d89b:b76c:2471%10(Preferred)
   IPv4 Address. . . . . . . . . . . : 192.168.43.132(Preferred)
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Lease Obtained. . . . . . . . . . : Wednesday, July 02, 2014 9:42:22 AM
   Lease Expires . . . . . . . . . . : Wednesday, July 02, 2014 10:42:22 AM
   Default Gateway . . . . . . . . . : fe80::9218:7cff:fe48:faa2%10
                                       192.168.43.1
   DHCP Server . . . . . . . . . . . : 192.168.43.1
   DNS Servers . . . . . . . . . . . : 192.168.43.1
   NetBIOS over Tcpip. . . . . . . . : Enabled

有什么建议么?

openvpn
  • 2 个回答
  • 23468 Views
Martin Hope
David W
Asked: 2014-06-10 10:12:00 +0800 CST

Cisco 交换机上的 VLAN 标记流量

  • 0

我有一种情况,我在客户端的同一物理接口上的 pfSense 防火墙上设置多个 VLAN。

所以在 pfSense 中,我现在有 VLAN 100(员工)和 VLAN 200(学生 - 学生计算机实验室)。

在 pfSense 的下游,我有一台 Cisco SG200 交换机,从 SG200 出来的是学生实验室(在 Catalyst 2950 上运行。是的,这很旧,但它可以工作,这是我们正在谈论的一个糟糕的非营利组织)。

我想做的是将网络上的所有内容标记为 VLAN 100,学生计算机实验室除外。

今天早些时候,当我在客户现场时,我进入了旧的 Catalyst 2950,并将其所有端口分配给访问 VLAN 200(交换机端口模式访问 VLAN 200),而无需在 Catalyst 或 SG200 上设置中继.

回想起来,我现在明白为什么实验室的网络会断了。我将实验室恢复为默认 VLAN1(我们仍在不同的防火墙上运行 - 我们尚未部署 pfSense - 并且流量仍然在物理上分离)。

所以我的问题是,我需要做什么才能正确部署这个场景?

我相信正确的答案是:

  • 确保在 pfSense 中设置了 VLAN 100 和 200,并且 DHCP 正常运行(在不同的子网上)
  • 设置一个允许 100 和 200 流量的中继端口 VLAN,并将该端口直接插入 pfSense。
  • 在 SG200 上设置 VLAN 200 中继端口(它没有运行 iOS,但如果是,命令将是switchport trunk native vlan 200),然后将插入 Catalyst 2950。
  • 在 Catalyst 2950 上设置 VLAN 200 中继端口(使用相同的命令插入 SG200 VLAN200 端口 - switchport trunk native vlan 200)
  • 将实验室中旧 Catalyst 2950 上的其余端口设置为 VLAN200 上的访问端口。

有什么我遗漏的,还是我需要调整这些步骤中的任何一个,以便正确分割网络流量?

cisco
  • 2 个回答
  • 2474 Views
Martin Hope
David W
Asked: 2014-04-12 16:25:21 +0800 CST

Windows Server - 将公共 IP 的请求重定向到 Localhost

  • 1

我有一个客户端,它有一个运行两组不同脚本的 Windows Server 2008 机器。

一组脚本在几个不同的域下托管多个网站。另一组脚本用于根据第一组中的 URL 生成报告和其他信息。

第二组脚本(用于报告)基于 URL 生成报告。但是,除非将 URL 手动输入到服务器的 HOSTS 文件并绑定到127.0.0.1. 否则,请求似乎会发送到外部 IP 地址,这可能会卡在 DMZ / 防火墙上。更新 HOSTS 文件对客户端来说很麻烦。

除了在 DMZ 中编辑规则之外,我的建议是更新 Windows 路由表,以便任何发往公共 IP 地址的请求自动重新路由到127.0.0.1.

我疯了,和/或这是一个愚蠢的建议吗?这可以通过route add命令完成吗?如果是这样,具体如何?

networking
  • 1 个回答
  • 1036 Views
Martin Hope
David W
Asked: 2014-03-29 10:20:54 +0800 CST

广播域和子网性能

  • 0

几周前,我在 Facebook 上与另一位网络工程师进行了一次有趣的讨论,内容如下:

我:

我想打击那些认为将 200 多个设备的网络放到 192.168.2.0/23 的子网中是个好主意的人(不,结尾 3 不是错字),以及(相当可能)同一个人认为在没有 VGA 或控制台 [或串行] 输出的硬件上安装无头防火墙是个好主意。

他:

我不明白。如果我要为 200 多个设备创建一个网络,并且我希望它们都在同一个广播域上,那么 /23 是有 510 个可用的票芽。是因为没有网络分段让您感到困扰吗?

我:

创建一个 10/16 会是一个更好的方法(就让它变得干净和以后容易处理而言)。另外,这个特定的客户正在疯狂增长,到明年应该拥有 500 多台设备。

他:

除非您有充分的理由,否则我会避免使用任何超过 /22 的广播域。你有什么样的交换和路由?听起来是时候在棒上安装 SVI 或路由器了。

基本上,我的烦恼是,无论是谁设置了原始网络,都使用 192.168.2.0/23,导致 192 网络被分成 2 个单独的 IP 块(我不喜欢结尾八位字节不同的事实,但是同一子网)。

所以这是我的问题:

设置子网掩码低于网络上设备数量实际所需的子网掩码是否存在网络性能问题?是否有任何其他原因导致这是一个坏主意(除了创建较小子网的安全和逻辑原因 - 创建某些 VLAN,将网络的一部分与另一部分分开,等等......)?

顺便说一句,我浏览了关于IPv4 Subnetting的 Canonical Question 的最佳答案,并学到了一些东西,但从性能的角度来看,它并没有直接回答我的问题。不过,具体来说,我发现该答案末尾的“将网络子网划分的三大主要原因”部分很有帮助。

在我看来,如果我将总共 30 台设备放到一个 10/16 子网中,就不会有问题。但是,如果我将 2048 台左右的设备放在 10/16 上,中间没有任何路由器或第 3 层交换,那么显然会有问题,很多设备都在尝试广播。

networking
  • 2 个回答
  • 1842 Views
Martin Hope
David W
Asked: 2014-03-26 17:56:51 +0800 CST

在引导时启动虚拟网络接口

  • 1

我有一个有趣的难题:我刚刚为我的 CentOS 6.x 系统添加了第二个静态 IP 地址,但只有一个接口(原来的,第一个)出现了。新的不会在启动时出现。

但是,第二个 int 在运行后会出现:ifup eth0:0

这两个接口都是手动设置的,并且配置为在启动时出现:

[root@myers network-scripts]# cat ifcfg-eth0

    ####
    # eth0 default configuration
    #

    DEVICE="eth0:0"
    BOOTPROTO="none"
    IPV6INIT="no"
    IPV6_AUTOCONF="no"
    ONBOOT="yes"
    TYPE="Ethernet"
    NETMASK=255.255.255.0
    IPADDR=50.116.63.90
    GATEWAY=50.116.63.1

第二个:

[root@myers network-scripts]# cat ifcfg-eth0:1
DEVICE="eth0:1"
BOOTPROTO="none"
ONPARENT="yes"
NETMASK=255.255.255.0
IPADDR=23.239.10.173

最后,在第二个 IP 地址(新的 IP 地址)中,我尝试将设备名称从 eth0:1 更改为 eth0:0,但这也不起作用。

我错过了什么?

networking
  • 3 个回答
  • 1322 Views
Martin Hope
David W
Asked: 2014-03-12 17:39:07 +0800 CST

pfSense 内存报告

  • 2

我有一个刚刚安装 pfSense 2.1 的盒子。这个盒子有 16GB 的 RAM,是一个四核处理器(是的,我们正计划处理一些严重的流量并使用代理过滤器来处理大量客户端)。

BSD shell 正确报告安装了 16GB 的 RAM:

dmesg | grep memory
real memory = 17179869184 (16384 MB)
avail memory = 2604027904 (2483 MB)

我在这里的假设是 BSD 报告内存使用情况的方式与其他 Unix 系统非常相似——机器已经继续并“保留”了近 14GB 的 RAM,这就是为什么只有 2GB 被报告为可用的原因。

困惑:

在 pfSense 仪表板上,它仅在系统信息小部件中的“内存使用情况”旁边报告可用内存:

内存使用 2534 MB 的 10%

这让我很担心。我需要 pfSense 来查看所有 16GB 的 RAM,以便我可以为代理内容过滤器 (SquidGuard) 提供适当的数量。

这有什么好担心的吗?为什么或者为什么不?如果有什么需要担心的,我该如何解决?

pfsense
  • 1 个回答
  • 1474 Views
Martin Hope
David W
Asked: 2014-02-01 08:53:46 +0800 CST

Watchguard XTM 23 的网络性能问题

  • 1

我负责为一个客户端(大约 10-15 台计算机)维护一个小型网络,该网络与外部世界的互联网连接速度为 100mbps(但具有讽刺意味的是,我只是完全绕过防火墙运行了一次速度测试,得到了 115mbps) .

Watchguard 防火墙后面是几个 Cisco SG-200(千兆交换机),然后是 Ubiquiti Unifi 无线接入点。

根据我在网上阅读的一些资源(包括http://www.guardsite.com/XTM-23.asp),这个 Watchguard XTM 23(我继承了维护的责任)的防火墙吞吐量为 195mbps .

我还看到它的“XTM”吞吐量为 40mbps。

这是我使用过的第一个 Watchguard,我正在尝试找出 XTM 吞吐量和防火墙吞吐量之间的区别。

有什么不同?

我的第二个问题......我从来没有能够从网络内部/Watchguard防火墙后面获得高于~45-50mbps的运行速度测试。我什至尝试在没有其他任何东西插入防火墙的情况下进行测试,但仍然无法超过 50mbps。因此,如果我不得不猜测,XTM 吞吐量将是这个 Watchguard 可以处理多少到互联网(外部世界)的带宽,而防火墙吞吐量将是它可以在其不同段之间的千兆端口上内部处理多少带宽网络。这个对吗?

我之所以如此疯狂追逐的原因有两个:

  1. 人们一直在抱怨网速慢
  2. 我们甚至无法达到我们当前互联网连接应该达到的速度。

我是否疯狂地继续假设这个 Watchguard 是我们网络中的瓶颈?我注意到的几件事是内存利用率似乎已达到极限(尤其是当员工在场时,根据我看到的图表,当他们不在这里/周末时,内存利用率并没有那么高)。但是,我在几个网站上读到 Watchguard 报告所有内存已使用的常见情况。

机箱上的 CPU 使用率和平均负载一直都很好。

如果我的臀部是正确的,我正在考虑一起摆脱 Watchguard,并在 SSD 上设置一个运行 pfSense 的新盒子。

watchguard
  • 1 个回答
  • 11087 Views
Martin Hope
David W
Asked: 2013-10-01 07:42:42 +0800 CST

启用 IPv6 会导致 TIME_WAIT 飙升

  • 0

上周,我们在我们的权威 DNS 服务器上启用了 IPv6,并在我们的域名服务器的注册商上启用了相应的 Glue 记录,并为我们自己的网站添加了 AAAA 记录。这次推出顺利,我们现在在 IPv6 上本地提供我们的网站。

这个周末,我们将一个 IPv6 地址添加到我们客户的一台专用服务器,确保 Apache 已配置为 IPv6,并将该 IP 地址添加到他们自己的 DNS 区域文件中。

从那时起,我们对 URL ( http://www.allgirlsallowed.org ) 的 Nagios 监控一直在抱怨:

CRITICAL - 10 秒后的套接字超时

我们已经确认该网站完全可以运行并且 DNS 配置正确,尽管外部工具(例如 Pingdom 的网站测试和http://www.downforeveryoneorjustme.com)有不同的结果(Pingdom 说它运行良好,Down for Everyone说它已关闭)。

在我们的调查中,我们注意到有几十个 TIME_WAIT 来自同一个 IPv6 地址(位于我们的同一个 /64 块中,并且是由托管服务提供商运营的 IP)。

现在我明白 TIME_WAIT 状态意味着连接实际上已关闭,并且该过程将很快消失。也就是说,这是我能在服务器上找到的唯一奇怪的东西。我们还看到负载持续增加(~0.5,即使当前访问者为 0)。

我担心的是,我们还没有在其他支持 IPv6 的服务器上看到这种行为(尽管允许,我们的其他 IPv6 服务器可能比这个特定的客户端接收到的流量要少得多)。

你有什么建议我调查的吗?显然我可以重新启用并禁用 IPv6,但这是一个废话。我想找出问题并正面解决。

ipv6
  • 1 个回答
  • 272 Views
Martin Hope
David W
Asked: 2013-09-06 12:31:23 +0800 CST

Catalyst 2950 无法 Ping 路由器

  • 0

[现在已修复]

我有一个运行 IOS 12.1(22) 的 Cisco Catalyst 2950,它位于 Watchguard 路由器/防火墙后面。我今天第一次打开这个,它是从一个新的/默认的出厂设置中出来的。

Catalyst 能够 ping 自身 (10.1.200.2),但无法 ping 路由器或外部的任何东西。另一方面,路由器能够 ping 交换机。

Watchguard 向该 Catalyst 所在的网络提供 DHCP,其 IP 地址为 10.1.200.1。在 Catalyst 上,我给本地 vlan1 分配了一个 IP 地址 10.1.200.2。

2950 上有两个 GigEth 端口,我已将第一个 (gig0/1) 配置为中继端口:

!
interface GigabitEthernet0/1
 switchport trunk allowed vlan 1
 switchport mode trunk
 spanning-tree portfast disable
!

交换机的更多配置选项(包括 int vlan1 设置):

!
interface Vlan1
 ip address 10.1.200.2 255.255.255.0
 no ip route-cache
!
ip default-gateway 10.1.200.1
ip http server
!

我不知道是否还有什么我缺少的东西来启动和运行这个东西。我还有一台 Cisco SG-200(显然更新得多),它可以在同一个网络上完美运行。

为了让这个开关最初与外界交谈,我有什么遗漏吗?

[编辑] 我也应该澄清一下,我尝试将这些开关端口设置为模式访问,但这也不起作用。根据最近的回答,这是我刚刚将设置再次恢复为 switchport 模式访问后运行配置的样子:

ip subnet-zero
!
vtp mode transparent
!
spanning-tree mode pvst
no spanning-tree optimize bpdu transmission
spanning-tree extend system-id
!
!
!
!
interface FastEthernet0/1
 switchport mode access
!

{ snip }

interface FastEthernet0/24
 switchport mode access
!
interface GigabitEthernet0/1
 switchport mode access
!
interface GigabitEthernet0/2
 switchport mode access
!
interface Vlan1
 ip address 10.1.200.2 255.255.255.0
 no ip route-cache
!
ip default-gateway 10.1.200.1
ip http server
!
line con 0
line vty 0 4
 login
line vty 5 15
 login
!
!
end
cisco
  • 1 个回答
  • 2438 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve