Questions tagged «linux-networking»

Linux网络是指由运行Linux的服务器执行的任何网络功能。充当路由器或防火墙的Linux服务器是最常见的应用程序。


4
重新启动后出现“陈旧的NFS文件句柄”
在服务器节点上,可以访问导出的文件夹。但是,重新启动后(服务器和客户端),都无法从客户端访问该文件夹。 在服务器上 # ls /data Folder1 Forlder2 并且/ etc / exports文件包含 /data 192.168.1.0/24(rw,no_subtree_check,async,no_root_squash) 在客户端上 # ls /data ls: cannot access /data: Stale NFS file handle 我不得不说,客户端的共享文件夹没有问题,但是在重新启动(服务器和客户端)后,我看到了此消息。 有什么办法解决吗?

4
在Linux上,如何查看到特定目标主机的路由使用了哪些网络接口和源IP地址?
如果我在Linux机器(这里:Debian Lenny)上有多个网络接口(这里:2)。我如何查看通过哪个网络接口(NIC)到特定目标主机的路由以及默认情况下使用哪个源IP地址? 我虽然有使用 ping -I nic1 desthost.example.com ping -I nic2 desthost.example.com 还要看看两种方式是否都可行。(在这里:两种方式都是可能的) 我看了路由表 ip route show 但这很复杂,所以我认为必须通过一个简单的小工具告诉我: “对于目标主机desthost.example.com,它使用接口nicX和源IP地址10.0.0.1” 获取此信息的最简单方法是什么? (而且我宁愿不使用tcpdump并将接口设置为混杂模式。) 谢谢。

4
systemd中可预测的网络接口名称
Ubuntu和Debian(拉伸)的最新版本带来了新的网络接口命名方案。 现在,从使用“ eth0”之类的旧样式名称的系统进行更新时,我想在启动之前知道新名称。 我怎样才能做到这一点?在启动(然后失去网络连接)之前,我可以用来编辑/ etc / network / interface的“ systemd”魔术调用吗?

2
在debian上的网络接口上添加整个IPv6 / 64块
我尝试使用以下命令将整个IPv6(/ 64)块添加到接口 ip route add local 2001:41d0:2:ad64::/64 dev lo 像描述在这里我的Debian服务器上,但我似乎失去了一些东西。 例如2001:41d0:2:ad64::fe,如果我在本地ping 一切正常,但如果从远程计算机尝试,则无法正常工作。然后,我尝试在eth0上添加路由: ip route add local 2001::41d0:2:ad64::/64 dev eth0 现在,我什至无法在本地ping任何示例地址! 我有点迷茫,因为我似乎丢失了一些东西,但是我在这里找不到答案。 简而言之:我想2001:41d0:2:ad64::/64绑定到eth0,以便可以从我的机器上的Internet访问此块包含的每个IP。 我希望有人可以指出正确的方法。提前致谢。 ISP提供的指南确实要求我将每个IPv6明确添加到接口。我希望它是隐含的。 具有明确IP地址绑定的工作配置 / etc / network / interfaces: 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 …

3
无法添加静态路由:SIOADDRT:网络不可达
我几天来一直在墙上砸头,试图弄清楚这一点:我的ifconfig是: eth0 Link encap:Ethernet HWaddr 00:50:56:BB:XX:XX inet addr:192.168.36.132 Bcast:192.168.37.255 Mask:255.255.254.0 eth1 Link encap:Ethernet HWaddr 00:50:56:BB:XX:XX inet addr:116.xx.xx.xx Bcast:116.xx.xx.xx Mask:255.255.255.192 当我尝试添加一条静态路由以退出eth0时,出现以下错误: servername-test:/ # route add -net 10.248.12.0 netmask 255.255.255.240 gw 192.168.36.254 dev eth0 SIOCADDRT: Network is unreachable 我的默认网关是: servername-test:~ # netstat -anr Kernel IP routing table Destination Gateway Genmask Flags MSS …

1
通过tcpdump在数据包捕获(Linux)中未显示VLAN标签
我在eth0上添加了标记的VLAN: #ip link add link eth0 name eth0.20 type vlan id 20 结果是: #ip link 2: eth0: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 9c:c7:a6:95:65:1c brd ff:ff:ff:ff:ff:ff .... 12: eth0.20@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP link/ether 9c:c7:a6:95:65:1c brd ff:ff:ff:ff:ff:ff #ip -d link show eth0.20 70: …


2
CoreOS:tcpdump神秘地解决了网络问题(使用的套接字数量过多)
我今天对你有一个谜。我们在Azure上运行基于CoreOS(2023.5.0 / Linux 4.19.25-coreos)的小型三节点Elasticsearch群集。Elasticsearch在主机网络模式下在docker容器内运行。在运行了几乎完全免费的维护一年之后,我们一直看到机器进入一种非常有趣的状态。 更新资料 通过修复Linux内核中的驱动程序可以解决此问题。请参阅下面的答案。 病征 基本上,受影响的计算机与其他两个节点之间的网络连接消失。所有这些都位于同一虚拟网络和同一子网中,并且通常可以与其他服务器通信。仍然可以从其他子网(我可以将其连接到该子网)和其他对等虚拟网络访问受影响的节点。该计算机还具有(非常多)互联网连接,但是大多数请求只是超时。 我们已经观察到,在受影响的节点上,报告的“已使用套接字”的/proc/net/sockstat数量非常高(在正常节点上为〜4.5k,而不是〜300)。监视显示,此数目从节点不可用的那一刻起迅速增加。 有趣的是,我们似乎无法识别这些二手插座的来源: # cat /proc/net/sockstat sockets: used 4566 TCP: inuse 2 orphan 0 tw 2 alloc 98 mem 4 UDP: inuse 1 mem 0 UDPLITE: inuse 0 RAW: inuse 0 FRAG: inuse 0 memory 0 # cat /proc/net/sockstat6 TCP6: inuse 98 UDP6: …

1
net.core.rmem_max和net.ipv4.tcp_rmem之间的区别
net.core.rmem_max和net.ipv4.tcp_rmem的第三个值之间有什么区别?哪个具有较高的TCP连接优先级? 对于下面的两个示例,tcp连接的最大缓冲区是多少? 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'

4
如何从自定义linux网络名称空间切换回默认名称空间?
使用ip netns exec,您可以在自定义网络名称空间中执行命令-但是还有一种方法可以在默认名称空间中执行命令? 例如,执行以下两个命令后: sudo ip netns add test_ns sudo ip netns exec test_ns bash 新创建的bash如何在默认网络名称空间中执行程序?据我所知,没有ip netns exec默认值或类似的东西。 我的情况是: 我想在单独的网络名称空间中运行SSH服务器(以使系统的其余部分不知道网络连接,因为系统用于网络测试),但希望能够通过以下命令在默认网络名称空间中执行程序SSH连接。 到目前为止,我发现了什么: 创建的网络名称空间在/ var / run / netns下以文件形式列出(但默认名称空间没有文件) 该IP netns EXEC代码可以在这里找到:http://git.kernel.org/cgit/linux/kernel/git/shemminger/iproute2.git/tree/ip/ipnetns.c#n132 -我还没有掌握一切它正在做的事情,但看起来前景并不乐观。 ip netns根据Howto的建议来标识$$,并在Linux上更改网络名称空间?在默认网络名称空间中不返回任何内容

2
eth0 NIC链接已中断,在内核日志中重复此消息
从几天前开始,我就注意到相同的重复消息出现了,我可以肯定地说,在此期间没有有意更改(安装/卸载)。 这是/var/log/kern.log消息的示例: Mar 30 06:32:45 aurora kernel: [566322.867110] e1000e: eth0 NIC Link is Down Mar 30 06:32:47 aurora kernel: [566325.313634] e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx Mar 30 06:32:59 aurora kernel: [566337.632930] e1000e: eth0 NIC Link is Down Mar 30 06:33:18 aurora kernel: …

1
GRO(通用接收卸载)如何在更高级的NIC上工作?
我对特定答案感兴趣: 具有GRO的NIC是否会编辑/创建TCP ACK或任何其他数据包(或者此功能对接收者/发送者TCP堆栈透明)? NIC应该将“粘合段”传递到TCP堆栈时应该有一个超时/事件?这些是什么? 在数据包转发设置中-GRO功能是否还会尝试读取接收器的ACK(请参阅下文,为什么我要这样做)? 任何比Wikipedia和linux手册页更好地解释GRO以及其他NIC卸载功能(TSO,LSO ...)的资料都将不胜感激。 更多细节: 我正在解决一种IPSec实现的性能问题。问题是可用带宽没有在所有4个VPN隧道中平均分配(大约200MBps / 200MBps / 1MBps / 1MBps;每个VPN隧道封装了一个TCP连接)。在PCAP中,我偶尔会看到Web服务器空闲约2秒钟(等待ACK)。当Web服务器重新传输未确认的段时,下载将恢复。 我从PCAP得出的结论是,NIC GRO功能将数据包粘合在一起,但是有时不能及时将它们传递到TCP堆栈,这是造成问题的原因。 由于此VPN服务器不具有终止TCP连接的接口,而仅转发数据包。然后,我尝试禁用GRO,此后,我发现流量均匀分布在所有隧道中。同样,当在Web服务器上禁用TCP窗口缩放时,即使启用了GRO,带宽甚至也被分配了(这就是我提出问题3的原因)。 我正在Ubuntu 10.04服务器(64位)上使用2.6.32-27 linux。NIC是Intel 82571EB。所有接口(HTTP客户端,VPN客户端,VPN服务器,Web服务器)直接通过1Gbit以太网电缆成链连接。

8
Docker pull:TLS握手超时
我总是得到这个(Ubuntu 16.04 LTS): $ docker pull nginx Using default tag: latest Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: TLS handshake timeout 但是curl TLS可以正常工作(除了auth错误): $ curl https://registry-1.docker.io/v2/ {"errors":[{"code":"UNAUTHORIZED","message":"authentication required","detail":null}]} 甚至一个小的golang程序(模仿docker)也可以正常工作: package main import ( "fmt" "io/ioutil" "net/http" ) func main() { resp, err := http.Get("https://registry-1.docker.io/v2/") if err != nil { panic(err) …

2
L2TP VPN是否可以在连接期间为客户端执行自动路由配置?
我们已经在本教程中设置了L2TP VPN服务器,所有操作都像一个超级按钮。 唯一的问题是 我们不希望客户端使用此VPN路由所有流量,而只路由特定的子网,例如10.0.0.0/20 在Mac上,我们需要使用命令手动设置路由,但是对于移动设备,似乎没有办法? 因此,是否可以为客户端自动配置子网“ 10.0.0.0/20”?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.