Articles of sysctl

/ proc / sys / kernel / shmmax的默认最大值是多less?

我对什么是最大值应该设置什么是不明确的。 看看我的系统统计数据后,显示如下: #cat /proc/sys/kernel/shmmax 18446744073692774399 #ipcs -l —— Messages Limits ——– max queues system wide = 3675 max size of message (bytes) = 8192 default max size of queue (bytes) = 16384 —— Shared Memory Limits ——– max number of segments = 4096 max seg size (kbytes) = 18014398509465599 max total shared memory (kbytes) = […]

调整nf_conntrack以吸收UDP(D)DOS攻击DNS服务器

我有一些面向公众的DNS服务器,这些服务器似乎是基于UDP的DDOS到端口53的攻击。 这些服务器是在OpenStack Hypervisors(Ubuntu 16.04)上运行的CentOS 7。 这次攻击充满了pipe理程序的conntrack表,导致所有其他邻居也中断连接。 我正在调整conntrack设置,如果可能的话,攻击一个实例有较less的机会影响其他人,也许net.netfilter.nf_conntrack_max增加到极端值? 这是具体的错误: Jul 2 22:38:47 compute2 kernel: [639738.070458] nf_conntrack: table full 这些是pipe理程序中的当前conntrack设置: net.netfilter.nf_conntrack_acct = 0 net.netfilter.nf_conntrack_buckets = 65536 net.netfilter.nf_conntrack_checksum = 1 net.netfilter.nf_conntrack_count = 78794 net.netfilter.nf_conntrack_events = 1 net.netfilter.nf_conntrack_expect_max = 1024 net.netfilter.nf_conntrack_frag6_high_thresh = 4194304 net.netfilter.nf_conntrack_frag6_low_thresh = 3145728 net.netfilter.nf_conntrack_frag6_timeout = 60 net.netfilter.nf_conntrack_generic_timeout = 600 net.netfilter.nf_conntrack_helper = 1 net.netfilter.nf_conntrack_icmp_timeout = 30 net.netfilter.nf_conntrack_icmpv6_timeout […]

我如何在CentOS 7上可靠地设置net.core.ipv4.conf.rp_filter = 0?

我想在CentOS 7机器上禁用反向path过滤。 我在/etc/sysctl.d/中有一个文件,其中包含以下内容,试图为我的所有networking接口禁用它: net.ipv4.conf.all.rp_filter = 0 net.ipv4.conf.default.rp_filter = 0 net.ipv4.conf.enp1s0f0.rp_filter = 0 net.ipv4.conf.enp1s0f1.rp_filter = 0 net.ipv4.conf.enp1s0f2.rp_filter = 0 net.ipv4.conf.enp1s0f3.rp_filter = 0 net.ipv4.conf.ens1f0.rp_filter = 0 net.ipv4.conf.ens1f1.rp_filter = 0 net.ipv4.conf.lo.rp_filter = 0 但是,启动后, all和default条目仍然设置为1.我必须在启动系统后手动设置它们,使其成为0。 同样,如果我停止并通过systemctl restart network.service ,它们会重新设置为1。 有没有办法让这个设置坚持我想要的方式?

net.netfilter.nf_conntrack_max被系统擦除

我的服务器连接已满: root@host:/home/user# /sbin/sysctl net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_max = 65536 root@host:/home/user# /sbin/sysctl net.netfilter.nf_conntrack_count net.netfilter.nf_conntrack_count = 65533 当我尝试更改nf_conntrack_max的de值时,只需要5次就应用这些更改,然后更改将被系统擦除 sysctl -w net.netfilter.nf_conntrack_max=131072 sysctl -p 这就是发生了什么事情: root@host:/home/user# sysctl -w net.netfilter.nf_conntrack_max=131073 net.netfilter.nf_conntrack_max = 131073 root@host:/home/user# /sbin/sysctl net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_max = 131073 root@host:/home/user# /sbin/sysctl net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_max = 131073 root@host:/home/user# /sbin/sysctl net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_max = 131073 root@host:/home/user# /sbin/sysctl net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_max = 131073 root@host:/home/user# /sbin/sysctl net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_max […]

在centos上调整TCP sysctl

我有网站,在高峰时间得到更高的tcp超时,减慢位,这里有一些统计图 sysctl config atm: net.ipv4.ip_forward = 0 net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.default.accept_source_route = 0 kernel.sysrq = 0 kernel.core_uses_pid = 1 net.ipv4.tcp_syncookies = 1 kernel.msgmnb = 65536 kernel.msgmax = 65536 kernel.shmmax = 68719476736 kernel.shmall = 4294967296 任何想法我应该改变/添加到configuration?

百胜没有更新/etc/rc.d/init.d/iptables

我已经被https://bugzilla.redhat.com/show_bug.cgi?id=493226 (重启iptables忽略了/etc/sysctl.conf中的值)的bug所击中。 这个bug在不久前已经被RH修复了。 自RH修复这个bug以来,服务器已经多次运行yum update。 最近一段时间,yum说一切都被更新了。 然而,显然不是这样,因为当我重新启动iptables时,net.ipv4.netfilter.ip_conntrack_tcp_be_liberal的值被设置为0,忽略了/etc/sysctl.conf中的内容 该错误的解决scheme是应用修补/etc/rc.d/init.d/iptables和/ etc / sysconfig / iptables-config的修补程序。 我已经尝试过这个补丁,它确实解决了这个问题 不过,我想让百胜解决这个问题,所以我恢复了有问题的文件。 我试过yum更新和yum安装iptables(该包提供了两个有问题的文件),但它不能解决问题。 我能做些什么来让yum从iptables包中安装正确的文件? 提前致谢。

networking(dhcpcd)在LXC下

我想用LXC启动一个Arch Linux实例。 几乎一切正常,但是在尝试使用dhcpcdconfiguration接口时遇到以下错误: # dhcpcd eth0 dhcpcd[4213]: version 5.6.4 starting dhcpcd[4213]: eth0: if_init: Read-only file system dhcpcd[4213]: eth0: interface not found or invalid 这似乎是dhcpcd试图修改/proc/sys/net/ipv4/conf/eth0/promote_secondaries的直接结果: 4210 open("/proc/sys/net/ipv4/conf/eth0/promote_secondaries", O_WRONLY|O_CREAT|O_TRUNC, 0666) = -1 EROFS (Read-only file system) 4210 writev(2, [{"dhcpcd[4210]: eth0: if_init: Read-only file system", 50}, {"\n", 1}], 2) = 51 我可以使用bind安装在它周围: # touch /tmp/promote_secondaries # mount -o […]

nginx或内核排队stream量

我们有一个如下所示的设置: nginx-> haproxy->应用程序服务器 我们正在用nginx终止SSL,它位于一切的前面。 在我们的高峰负载时间,我们正在经历大约2倍的性能影响。 通常需要400毫秒的请求需要800毫秒。 整个互联网需要更长的时间。 问题是,我的日志和图表中没有任何放缓的迹象。 New Relic显示所有应用程序服务器都正确响应,速度没有变化。 Nginx和haproxy在其日志中没有显示任何关于请求放缓的情况,但是我们正在放缓。 尽pipenginx显示我跟踪的一个特定的请求是在整个堆栈中花费17ms,但在上周的高峰负载中需要花费1.5秒钟。 所以,这给我留下了两个select:1)networking问题 – 根据路由器的graphics,我留下了足够多的pipe道。 我只使用1 Gbps端口中的400 Mbps,并且在ifconfig或交换机或路由器中没有错误。 然而,SoftLayerpipe理这个设备,所以我不能亲自validation。 它可能在我们这边,因为内核以及我想,所以我发布我的sysctl值如下: 2)nginx阻止了请求,要么不logging它,要么我没有logging正确的事情。 是否有可能要求排队,因为工人更忙,他们没有得到尽快的行动? 如果实际上发生了这种情况,除了$ request_time之外,我可以loginnginx什么,因为它没有显示任何减速。 而且,如果这可能实际上需要的时间超过了$ request_time指示的时间,那么我该如何去调整configuration来加快速度呢? SYSCTL net.ipv4.tcp_syncookies = 0 net.ipv4.tcp_synack_retries = 2 net.ipv4.ip_local_port_range = 1024 65535 net.ipv4.tcp_fin_timeout = 3 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.ipv4.tcp_rmem = 16777216 16777216 16777216 net.ipv4.tcp_wmem = 16777216 16777216 […]

在Ubuntu 12.04的sysctl中设置值时,权限被拒绝

我试图configuration我的Ubuntu 12.04 VPS(OpenVZ)重新启动时,内存不足。 为此,我在“/etc/sysctl.conf”文件中添加了以下几行代码。 vm.panic_on_oom = 1 kernel.panic = 14 但是当我使用命令“sudo sysctl -p”运行configuration时,出现以下错误。 error: permission denied on key 'vm.panic_on_oom' error: permission denied on key 'kernel.panic' 我曾尝试运行与root相同的命令,并发现相同的错误。 任何人都可以请指出我做错了什么? 或者我该如何解决这个问题? 提前致谢。

还有什么可以删除/延迟连接,但iptables

在办公室里,我们有一个有趣的情况:从任何一台计算机到我们的testing服务器(托pipe在AWS上)之间存在连接(即使只是一个网页刷新)之后,另一台计算机将不能连接一段时间约30秒)。 第一台电脑仍然可以连接,而第二台电脑的所有已经打开的连接仍然可以工作(如SSH)。 这只在两台计算机位于相同的networking/外部IP地址时才会发生。 例如,如果第二台计算机使用VPN – 它将能够连接。 显然,这远非最佳。 我试图找出什么是错的。 Iptables规则表是完全空的,除了一个规则,我已经添加到logging传入连接到SSH(用于debugging目的): iptables -I INPUT -p tcp –dport 22 –syn -j LOG –log-prefix "22 SSH: " 这表明,虽然第二台计算机不能连接到SSH,但数据包仍然到达服务器(并被iptableslogging,数据如下:“LEN = 48 TOS = 0x00 PREC = 0x00 TTL = 49 ID = 18889 DF PROTO = TCP SPT = 54750 DPT = 22 WINDOW = 65535 RES = 0x00 SYN […]