Questions tagged «networking»

在UNIX系统上管理和使用网络连接

2
CentOS 6.2上的静态IPv4和IPv6配置
我尝试在CentOS 6.2上配置静态IPv4和IPv6配置。 以下配置可完美运行: # ifconfig eth0 x.x.x.x/29 # route add defalt gw x.x.x.y # ip addr add dev eth0 XXXX:C810:3001:D00::3/56 # ip -6 route add default XXXX:C810:3001:D00::1 但是,我想在重新启动后保留此配置。 因此,我进行了以下配置: 启用IPv6 [root@test network-scripts]# cat /etc/sysconfig/network NETWORKING=yes HOSTNAME=test.net NETWORKING_IPV6=yes 接口配置 [root@test network-scripts]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0" BOOTPROTO="static" ONBOOT="yes" HWADDR="2C:C3:AC:A8:C3:3E" IPADDR=x.x.x.x GATEWAY=x.x.x.x NETMASK=255.255.255.248 TYPE=Ethernet …

3
检查网线是否插入而未打开接口
我正在尝试识别约20个远程服务器上的NIC(每个服务器上2-6个NIC)。首先,我想确定那些可供使用的和免费的。如何检查物理媒体的状态?我知道一些方法,其中包括ifconfig|grep RUNNING,ethtool,cat /sys/class/net/eth0/carrier,但他们所需要的接口了。我不想提出所有接口。不知道为什么,但是我不喜欢启用但尚未配置网络中的接口。有办法避免这种情况吗? 还是我只是错了,所有接口都已启动(未配置)没有什么不好呢?即使已插入?

2
Linux中最少的TCP MSS
Linux中的TCP MSS必须至少为88(include / net / tcp.h): /* Minimal accepted MSS. It is (60+60+8) - (20+20). */ #define TCP_MIN_MSS 88U 我的问题是:他们从哪里想到“ 60 + 60 + 8”,为什么?我得到20 + 20来自IP标头+ TCP标头。 编辑:仔细查看标题之后,公式对我来说是这样的: (MAX_IP_HDR + MAX_TCP_HDR + MIN_IP_FRAG) - (MIN_IP_HDR + MIN_TCP_HDR) 问题仍然存在:为什么?为什么Linux内核使用此公式,从而禁止(强制流)20个字节的TCP段?在这里想iperf。 EDIT2:这是我的用例。通过在套接字/连接上强制使用低MSS,堆栈发送的所有数据包的大小都将减小。我希望在与iperf一起进行数据包/秒测试时设置较低的MSS。由于此MSS的下限,我无法获得小于128字节(142字节的以太网帧)的IP数据包!我希望按照RFC 2544尽可能接近64字节的以太网帧大小。从理论上讲,这应该是可能的:18 + 20 + 20 <64。

4
如何确定当前的网络利用率?
我想显示网站上Debian框的一个界面的当前网络利用率(带宽利用率)。它不应该是非常详尽或精确的,只是一个简单的数字,例如“ 52 Mbit / s”。 诸如此类的典型网络带宽监视器iftop使我无法简单地提取此类值。 如何最好地找回它? 例如,我想我可能/proc/net/dev每隔几分钟就解析一次。虽然不确定这是否真的是最好的方法。


1
如何诊断可靠不可靠的连接?
我现在住的地方,互联网连接(有线)显示以下奇怪的症状。它们似乎与我使用主机名还是IP地址无关。 平整工程 Skype的作品 Wget连接,但从未收到响应。(一直等待“ HTTP请求已发送,正在等待响应”,直到超时。) 除了工作的一小部分域。 ssh命令(ssh host ls)有效。 交互式ssh会工作一小段时间,但是会很快挂起,例如在第一次挂起时ls–每次都在同一时间挂起。 在Windows下,一切正常。 我该怎么做才能进一步诊断?到目前为止,我一直在研究应用程序层。由于存在明显的互联网连接,因此必须有某种方法来引导Firefox,但是我想首先解决问题。 这很可能与大型数据包无法通过有关。我发现有一个MTU,但是将其设置为eth0并不能解决我的问题。我认为我落后于PPPOE和路由器。Windows和Linux上的外部IP相同。 一些命令的输出: ip link show 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1024 qdisc mq state UP qlen 1000 link/ether 00:26:aa:aa:aa:61 brd ff:ff:ff:ff:ff:ff 3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 …

1
如何从用户程序利用TUN / TAP隧道?
我最近发现了Linux TUN / TAP接口的存在,并且仍在尝试了解它们。我想我得到了基本概念-创建伪设备来模拟网络接口,而不是将数据传递给硬件,而是将其传递给用户空间程序。 您将如何引导无关的程序来利用此隧道? 例如,在创建隧道之前,我的系统仅包含eth0和lo,普通的以太网接口(连接到我的本地网络)和回送接口。程序创建并配置隧道后,我有了一个新接口gr0,该接口提供了一个位于本地网络上但未使用的IP地址(因此我们都在同一子网中)。我如何使不相关的程序利用此“隧道”?假设我有一个简单的Python消息传递客户端/服务器应用程序,该应用程序使用TCP连接,如何配置它以使用隧道? 如果我缺少一些基本知识,我深表歉意,但是像往常一样,我设法使自己迷失了。再说一次,我只想拥有一个使用此隧道的简单TCP程序。 谢谢!

2
无法ping广播
我们正在运行四台连接到Fedora 13上的集线器(是集线器而不是交换机)的计算机。它们是使用来自最近刚离开我们回到学校的同事的图像安装的,它们可能被设置为以某种方式阻止使用广播,但我们想继续使用此图像。我们使用ifconfig(我们也尝试过ip addr add)将每台计算机的静态IP设置为10.0.1.11/24至10.0.1.14/24,使用这些设置我们似乎无法ping通广播正确设置为10.0.1.255,使用tcpdump除了从调用ping请求的计算机发出的ping请求外,我们什么都看不到。有人有任何想法吗?或者我完全错过了什么吗?
9 linux  networking  ip  ping 

1
双网络连接
我的Ubuntu 10.10机器上有一个USB蜂窝调制解调器和一个家庭局域网连接。 两者都独立工作。 我想知道如何同时连接两个设备,并能够指定哪个应用程序使用哪个设备连接到互联网。 有谁知道如何做到这一点?

2
试图了解自动重新连接WIFI的方法
我发现这种方法可以从本文中重新连接WIFI加密狗。但是,在尝试实施之前,我想弄清楚它是如何工作的。 转到/etc/ifplugd/action.d/并将ifupdown文件重命名为 ifupdown.original。 然后执行:cp /etc/wpa_supplicant/ifupdown.sh ./ifupdown。 最后: sudo reboot 什么时候/etc/ifplugd/action.d/ifupdown叫? 该脚本/etc/wpa_supplicant/ifupdown.sh本质上是用外行的方式执行的,对我来说,它看起来很复杂。什么时候也叫它 步骤1到步骤3是否会导致其他无法预见的问题,从而导致我的WIFI无法正常工作?我正在尝试通过SSH在Raspberry PI上实现此功能,而在难以到达的位置没有键盘和显示器。 我尝试使用Google进行各种操作,但迷路了!


3
如何监视接受队列的长度?
我有一个假设:有时TCP连接到达的速度比我的服务器可以到达的速度快accept()。他们排队直到队列溢出,然后出现问题。 我如何确认这种情况正在发生? 我可以监视接受队列的长度或溢出次数吗?某处有柜台吗?

13
Centos 7:无法启动/关闭网络:为中继接口配置接口
在服务器(Centos 7)上配置的交换机被配置为VLAN#115,2014的中继。我已经装好了 # lsmod | grep 8021q # modprobe 8021q 我想使用VLAN#115在服务器上配置IP地址,执行以下配置: ifcfg-em1 TYPE=Ethernet BOOTPROTO=none DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME=em1 UUID=c0c4d851-d762-4301-8c20-d6128aee5261 DEVICE=em1 ONBOOT=yes ifcfg-em1.115 TYPE=Ethernet BOOTPROTO=none IPADDR=172.31.141.242 PREFIX=24 GATEWAY=172.31.141.1 DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME=em1.115 UUID=c0c4d851-d762-4301-8c20-d6128aee5261 DEVICE=em1.115 VLAN=yes ONBOOT=yes 我最终无法重新启动网络服务。出现的错误信息是: …

2
systemd在Debian 8.0 Jessie启动时等待网络的时间太长
我的系统已经启动了比较快的,同时然Debian的7喘息,但之后升级到Debian的8杰西,因此从SysVinit到systemd,它成为一种方式,方法要慢。 减慢启动速度的是网络。等待网络接口的更新时间超过1分钟。我不知道其中的内容/etc/network/interfaces会影响启动过程,因此这里是整个过程。 / etc / network / interfaces: allow-auto lo iface lo inet loopback auto wlan0 iface wlan0 inet static address 192.168.150.1 netmask 255.255.255.0 auto eth1 iface eth1 inet manual up ifconfig $IFACE 0.0.0.0 up down ifconfig $IFACE down auto eth2 iface eth2 inet manual up ifconfig $IFACE 0.0.0.0 up …

3
在bash脚本中等待网络
我正在运行一个脚本,该脚本依赖于网络正常运行并安装网络共享。该脚本在登录时运行(启动后会自动发生)。问题在于,在脚本运行时,我通常还没有IP地址(DHCP)。目前,我只是将脚本休眠15秒钟,但是我根本不喜欢这种方法,因为我希望能够告诉用户是否有问题。 我的计划是,在没有IP地址的情况下进行循环,然后再继续。至关重要的是,它必须在一段时间后超时。我if [ ifconfig | grep "192.168.100" ];想到的是,但是发生的是grepconsumes ];和不喜欢它。然后bash也变得不高兴,因为它找不到那个];grep吃了。然后,我什至没有执行超时。 有人建议保留一个变量,并在每次迭代中睡一秒钟,然后每次增加该变量。这是我完整的(不起作用的)脚本(我对bash脚本还很陌生): x=0 while [ ifconfig | grep "192.168.100." > /dev/null ]; do echo "no nework" if "$x" -gt 200; then #Time out here exit 1 x=$((x+1)) sleep .1 fi done #continue with rest of script... 任何朝着正确方向的指针将不胜感激!

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.