我注意到,自从将服务器更新到Debian Squeeze之后,/ proc / sys / kernel / random / entropy_avail所报告的熵的数量远远低于升级之前的数量。 我想知道如果这个较低的池大小是足够大的function,或者如果我需要考虑获得更多的熵源。 我想有一个方法来logging/ dev / random的阻塞读取将显示我是否有足够的熵。
我想了解使用iptables DNAT与回送地址的限制。 考虑我们有一个应用程序只能连接到127.0.0.1; 使服务器和客户端在不同的节点上工作的明显的解决scheme是使用NAT如下: 确保所有传出的数据包都具有主客户端主机的IP地址: iptables -t nat -A POSTROUTING -o eth0 -j SNAT –to-source <CLIENT_IP> 现在让我们试图欺骗客户和DNAT一个连接到外部世界: iptables -t nat -A OUTPUT -d 127.0.0.1/32 -p tcp -m tcp –dport <SERVICE_PORT> -j DNAT –to-destination <SERVER_IP> 不幸的是,当试图连接到127.0.0.1:<SERVICE_PORT>时,这只是不起作用127.0.0.1:<SERVICE_PORT>程序只挂在connect syscall上。 有意思的是,我看不到任何接口上的任何SYN数据包( tcpdump -qn -i any port <SERVICE_PORT> ),但是我可以看到数据包计数器增加,同时查看iptables统计信息( iptables -nvL -t nat )。 search解决scheme我find了一个内核编译选项CONFIG_IP_NF_NAT_LOCAL ,它在内核2.6.0-2.6.10中使用来解决与本地发起的连接一起使用NAT的问题。 不幸的是,当前的git内核树拥有版本2.6.11和更高版本的信息,所以我在这里死路一条。 进一步看,我已经遇到了这个线程 ,关于一些DNAT在2.6.11环回问题的修复; 其中一个补丁删除CONFIG_IP_NF_NAT_LOCAL构build选项,并无条件地启用代码( […]
在debugging在KVM下运行的一组虚拟机的networkingconfiguration问题时,我发现了一个情况:虚拟机中的内核已经决定在外出的以太网帧上加上一个与它所在的地址冲突的目标地址select是否与内核IP路由表相关。 因此,在这个例子中,我预计出站帧将被传送到de:ad:be:3b:24:48,这对应于拥有IP地址10.11.11.2的主机,并拥有到10.8.0.0/24的路由。 实际发生的情况是内核决定用00:10:db:ff:70:01的目的地来标记帧,这个目标发送帧的方向是10.11.11.1,不知道如何路由到10.8.0.0 / 24,结果数据包被丢弃。 这个决定违反了本地路由表,明确指出10.8.0.0/24的路由是通过10.11.11.2。 详情请参阅原始问题报告。 [错误的目标地址是通过在正在向不正确的方向发送帧的访客VM中运行tcpdump来显示的。 实际上,通过压缩本地arp表使10.11.11.1的表观MAC地址与10.11.11.2的实际MAC地址相同,我就能够正确地确定帧的stream向。 所以我的问题是:在访客虚拟机或KVM主机中,什么机制都可能导致客机内核忽略本地路由表,并在10.11.11.1将数据包发送到(错误的)主机,即使10.11 .11.1未被列为目标networking的网关(10.8.0.0/24)? 注意:iptables在当时被禁用了。 我不知道在KVM主机上是否启用了ebtables,但是即使是这样,这也会导致guest虚拟机内核在10.11.11.1的方向发送数据包? 我注意到的一个行为是,如果我清除受影响的主机的ARP表并从10.8.0.0/24networking向受影响的主机发送ping请求,它将接收到请求,然后立即发送10.11.11.1的arp广播在10.11.11.1而不是10.11.11.2,因此10.8.0.0/24发送ping响应之前。 是什么导致它尝试10.11.11.1哪一个没有被指定为网关?
连续两个服务器在两周内冻结。 我们在Intel(R)Xeon(R)E5620 @ 2.40GHz上运行ubuntu 11.04 64位,在2.6.38-13-通用内核专用服务器上运行 48 Gb RAM。 在对.htaccess文件进行了一些修改之后,我们重新加载了apache和系统,并且我们甚至不能ssh。我们等了一段时间,但是我们不能ssh了。后来我们做了一个restart。在分析syslog时,我们发现了一般的保护故障:0000 [#1] SMP接着是一组奇怪的消息。我们也在每分钟运行一个cron脚本来logging总的apache孩子,比如日志孩子 。 5月2日22:34:11 406831内核:[3715446.033031]一般保护故障:0000 [#1] SMP 5月2日22:34:11 406831内核:[3715446.054726]最后一个sysfs文件:/ sys / devices / system / cpu / cpu15 / cache / index2 / shared_cpu_map 5月2日22:34:11 406831内核:[3715446.097404] CPU 5 5月2日22时34分11秒406831内核:[3715446.097869]模块在连接:nf_conntrack_ipv6 nf_defrag_ipv6 ip6t_LOG xt_tcpudp ipt_REDIRECT xt_conntrack iptable_mangle nf_conntrack_ftp ipt_REJECT ipt_LOG xt_limit xt_multiport xt_state ip6table_filter ip6_tables iptable_nat nf_nat […]
我只是更新了我的Linux的内核: [root@localhost ~]# cat /etc/redhat-release Scientific Linux release 6.1 (Carbon) [root@localhost ~]# uname -a Linux localhost.localdomain 2.6.32-131.0.15.el6.x86_64 #1 SMP Tue May 10 15:42:40 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux [root@localhost ~]# / var / log / messages中的最后几项: Oct 1 10:22:10 wcmisdlin02 wall[21689]: wall: user root broadcasted 1 lines (8 chars) Oct 1 10:22:40 wcmisdlin02 NetworkManager[1866]: […]
我有一台机器与Ubuntu 12.04 64位,我有需要列入黑名单模块,我已列入blacklist.conf但没有发生; 我已经解决了我的问题传递modprobe.blacklist=<module>作为参数的GRUB命令行。 我的问题是:何时和如何modprobe运作? 对我来说很清楚,它并没有真正与内核进行1:1的操作,因为我的内核仍然加载了被列入黑名单的模块,那么modprobe的作用是什么呢? 更重要的是,在启动时间,在什么级别上运行?
我使用的是CentOS 6.3 64bit,并且在增加FD限制时遇到了问题:更改了限制后SSH不工作,每次login我的服务器,input密码后,然后“远程服务器closures连接”。 这是一个没有任何“救援模式”的远程服务器,所以没有办法做本地login来获取任何错误日志。 在这个问题发生之前,我也尝试了ulimit -SHn,但是还没有正常工作。 现在每次发生这个问题我都必须恢复快照,但仍然不知道服务器有什么问题。 由于我正在处理每秒处理数百万次请求的高性能服务器,因此我需要非常高的FD限制,这里是我的configuration: /etc/security/limits.conf * hard nofile 2000000 * soft nofile 2000000 /etc/security/limits.d/90-nproc.conf * soft nproc 1024 /etc/ssh/sshd_config Protocol 2 SyslogFacility AUTHPRIV PasswordAuthentication yes ChallengeResponseAuthentication no GSSAPIAuthentication yes GSSAPICleanupCredentials yes UsePAM yes AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE […]
我们在Debian系统上将我们的内核从2.6.32升级到了3.8.7。 我们与NFS共享以获取Apache2的数据。 而Nginx只提供静态文件作为代理。 由于我们已经安装了内核3.8.7,所以负载平均值有时会增长(到40以上),并且在'/ var / log / messages'中发现错误。 这是常见的错误: Apr 17 06:07:44 node1 kernel: [116569.387483] INFO: task apache2:18604 blocked for more than 120 seconds. Apr 17 06:07:44 node1 kernel: [116569.387527] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. Apr 17 06:07:44 node1 kernel: [116569.387598] apache2 D 0000000000000002 0 18604 17528 0x00000000 Apr 17 06:07:44 node1 […]
我们目前在英国拥有一台主机的虚拟(xen)服务器,并备份到美国的Idera R1Soft / ServerBackup系统。 我们的一台服务器绝对拒绝编译内核模块。 有其他人看到这个问题吗? 我们的服务器主机已经用尽了所有的想法,备份服务提供商不想帮忙,因为它不是我们备份的服务器。 这就是我们得到的: root@web2 [~]# serverbackup-setup –get-module Checking if module needs updated Checking for binary module Waiting | No binary module found Gathering kernel information Gathering kernel information complete. Creating kernel headers package Checking '/lib/modules/2.6.32.61/source/' for kernel headers Found headers in '/lib/modules/2.6.32.61/source/' Compressing… uploading kernel package 99% 21MB 1.5MB/s 00:00 […]
我不能在我的Debian服务器上执行任何命令,例如我尝试执行“reboot”命令我有这样的: root@server002:~# reboot -bash: /sbin/reboot: Input/output erro 或者,如果我想通过触摸命令创build文件: root@server002:~# touch toto touch: cannot touch `toto': Read-only file system 在/ var / log / messages中,我可以查看以下几行: May 6 13:22:03 server002 kernel: ata1: hard resetting link May 6 13:22:09 server002 kernel: ata1: link is slow to respond, please be patient (ready=0) May 6 13:22:10 server002 kernel: ata1: SATA […]