我有一个超旧的(不要问为什么)我的DreamBox上的BusyBox (BusyBox v1.01(2008.12.19-21:31 + 0000)Built-shell(ash)) 。 我想找出哪个进程使用netstat打开了哪个连接。 但是我发现BusyBox的netstat不包含-p选项。 还有什么其他可能性,我必须找出哪个进程打开(和正在使用)相应的套接字?
net.core.rmem_max和net.ipv4.tcp_rmem的第三个值有什么区别? 哪个具有较高的TCP连接优先级? 对于以下两个示例,tcp连接的最大缓冲区是多less? Case 1: sysctl -w net.core.rmem_max=7388608 sysctl -w net.ipv4.tcp_rmem='4096 87380 8388608' Case 2: sysctl -w net.core.rmem_max=8388608 sysctl -w net.ipv4.tcp_rmem='4096 87380 7388608'
好像当dhclient在eth0上运行时,我从DHCP服务器获得一个IPv4地址,并且连接到eth0的Scope:Link IPv6地址: inet6 addr: fe80::a00:27ff:fed0:4d41/64 Scope:Link 但是我无法从dhclient脚本中看到这个地址是如何被添加的。 在具有静态IP地址的另一个接口上,我想添加一个链接本地IPv6地址,我想知道是否有一个通用的命令来做到这一点,而不知道MAC。 编辑: 当你执行“ip link set dev ethX up”或“ifconfig ethX up”的时候,看起来内核分配了链接本地地址。 但是,在我的情况下,我有一个电缆插入到DHCP'ing接口,没有电缆插入我静态设置的接口。 直到周一才能validation,但我猜测如果没有链接,内核不会将链路本地地址分配给接口。
我在一个长期的过程中遇到了一个问题: kube-proxy是Kubernetes的一部分。 问题是有时连接处于FIN_WAIT2状态。 $ sudo netstat -tpn | grep FIN_WAIT2 tcp6 0 0 10.244.0.1:33132 10.244.0.35:48936 FIN_WAIT2 14125/kube-proxy tcp6 0 0 10.244.0.1:48340 10.244.0.35:56339 FIN_WAIT2 14125/kube-proxy tcp6 0 0 10.244.0.1:52619 10.244.0.35:57859 FIN_WAIT2 14125/kube-proxy tcp6 0 0 10.244.0.1:33132 10.244.0.50:36466 FIN_WAIT2 14125/kube-proxy 随着时间的推移,这些连接会累积起来,从而导致stream程失败。 我已经向Kubernetes bug跟踪器报告了一个问题 ,但是我想知道为什么这样的连接没有被Linux内核closures。 根据它的文档 (searchtcp_fin_timeout),FIN_WAIT2状态下的连接应该在X秒后被内核closures,其中X可以从/ proc中读取。 在我的机器上它被设置为60: $ cat /proc/sys/net/ipv4/tcp_fin_timeout 60 所以如果我正确地理解这样的连接应该被closures60秒。 但事实并非如此,他们处于这种状态几个小时。 虽然我也明白,FIN_WAIT2连接是非常不寻常的(这意味着主机正在等待从连接的远程端可能已经消失一些确认)我不明白为什么这些连接不被系统“closures” 。 有什么我可以做的吗? […]
Ubuntu 12.04 我试图更好地理解TCP在尝试重传数据包时没有收到目的地收到的确认信息。 看完tcp手册页后 ,看起来很清楚,这是由sysctl tcp_retries1控制的: tcp_retries1 (integer; default: 3) The number of times TCP will attempt to retransmit a packet on an established connection normally, without the extra effort of getting the network layers involved. Once we exceed this number of retransmits, we first have the network layer update the route if possible before […]
我尝试添加一个完整的IPv6(/ 64)块到一个接口使用 ip route add local 2001:41d0:2:ad64::/64 dev lo 就像在我的Debian服务器上描述的那样,但是我似乎错过了一些东西。 如果我在本地ping例如2001:41d0:2:ad64::fe一切正常,但如果我尝试从远程机器不起作用。 然后我尝试在eth0上添加路由: ip route add local 2001::41d0:2:ad64::/64 dev eth0 现在我甚至无法在本地ping任何示例地址! 我有点失落,因为我似乎失去了一些东西,但我在这里找不到答案。 简而言之:我希望2001:41d0:2:ad64::/64绑定到eth0,这样这个块所包含的每个IP都可以从我的机器上的互联网上获得。 我希望有人能指点我的道路。 提前致谢。 ISP提供的指南要求我明确地将每个IPv6添加到接口。 我希望它是隐含的。 使用明确的IP地址绑定进行工作configuration 的/ etc /networking/接口: auto eth0 iface eth0 inet static address my.ip.v4 netmask 255.255.255.0 network my.network.address.ip broadcast my.broadcast.address.ip gateway my.gateway.ip iface eth0 inet6 static address 2001:41d0:2:ad64::fe netmask 64 gateway […]
我怎样才能从Linux禁用IPv4堆栈? 我想dynamic地做,即。 有时我希望启用它,有时我只想要IPv6栈。 有没有可移植的方式来做到这一点? 如果你知道如何做到这一点,它也会帮助我很多。
我想closuresCentOS5服务器上的tcp分段卸载。 使用ethtool命令是ethtool -K eth0 tso off但是,此设置仅保留此会话。 我怎样才能让它坚持通过重新启动?
几年前,我曾经和一个linux专业人员一起工作,他做了这个漂亮的技巧。 他可以做一个mysqldump,但将输出redirect到scp / ssh连接,而不是写入磁盘 。 我们曾经在这里工作过,但是我不记得如何去做。 我现在面临的问题是,我的服务器中的硬盘驱动器是最后一段,为了密集的目的,永久安装为只读。 我希望利用这个命令行技巧来仍然能够将我的数据库备份到一个新的服务器上,因为将转储写入本地disd并转移它显然是不可能的。 这实际上是可能的小技巧吗? 如果是这样的语法? 我已经意识到由于只读文件系统的问题,我的经验,我甚至不能连接到MySQL做转储。 但是,您的反馈非常好,希望将来可以用于其他人
我有一个很好的整形器,在linux网桥上build立了哈希filter。 简而言之, br0连接external和internal物理接口,VLAN标记的数据包被“透明地”桥接(我的意思是没有VLAN接口)。 现在,不同的内核做不同的事情。 我可以错误的确切的内核版本范围,请原谅我。 谢谢。 2.6.26 所以,在debian中,2.6.26及以上(我相信达2.6.32)—这个工作: tc filter add dev internal protocol 802.1q parent 1:0 prio 100 \ u32 ht 1:64 match ip dst 192.168.1.100 flowid 1:200 在这里,“内核”与0x8100“协议”字段中的两个字节相匹配,但将ip数据包的开始计数为“零位”(对于我的英文,如果我有点不清楚,那么抱歉)。 2.6.32 再次,在debian(我没有build立香草核),2.6.32-5 —这个工作: tc filter add dev internal protocol 802.1q parent 1:0 prio 100 \ u32 ht 1:64 match ip dst 192.168.1.100 at 20 flowid […]