Questions tagged «networking»

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

1
用于在内核空间捕获数据包的缓冲区大小?
通过的手册页tcpdump,看来如果缓冲区已满,内核可以丢弃数据包。我想知道是否: 该大小是可配置的和/或 在哪里可以看到发行版的大小? 在手册页中(为便于参考): ``被内核丢弃的数据包''(这是由于tcpdump运行所在的OS中的操作系统中的数据包捕获机制由于缺少缓冲区空间而丢弃的数据包的数量;如果OS向应用程序报告了该信息;如果不是,它将报告为0)。

4
如何给HTTP流量更高的优先级?
当我上网时,我发现我必须暂停我的BitTorrent客户端,以帮助提高痛苦的缓慢速度(可悲的是,我的速度为384kbps)。每次都必须手动执行此操作不是很好。 请给我看一下魔术按钮,我只需要按一下该按钮,就可以享受更快,更高优先级的冲浪,在这里激流的速度倒退了,直到我的网络冲浪结束后才恢复全速。 [ 仅供参考 ] NetworkManager管理我的网络,传输是我的BitTorrent客户端。

2
如何使用Linux作为网关?
注意:如果客户端设备(computer B在此示例中)要通过网关计算机获得Internet,则可能仍需要配置名称服务器解析。这里没有解释(网关不一定服务于互联网)。 我试图了解网络路由的基础知识。 因此,我正在尝试使用LAN(我现在不需要Internet,仅需要LAN通信)。 我知道网络配置问题是一件相当复杂的事情,但是我只是想使一台计算机(例如A)充当另一台计算机(例如B)(都运行Ubuntu Linux)的网关。 我只需要B就能到达路由器,那才是A可以到达的。 就是这种情况: Router for computer A --> 192.168.0.1 Computer A - eth0 --> 192.168.0.2 Computer A - eth1 --> 192.168.1.1 Computer B - eth0 --> 192.168.1.2 计算机A与路由器的连接良好。 计算机A和B连接罚款(平,SSH ...等)之间。 计算机B 无法到达计算机A 的路由器。 我在想,只要将B计算机A添加为默认网关并在A上激活IP转发,就可以使B能够到达A的路由器: luis@ComputerB:~$ sudo route add default gw 192.168.1.1 luis@ComputerB:~$ sudo routel target …

2
在不同接口上使用dhclient更新IP
我的计算机上有两个接口,eth0并且eth1。 两个子网上都有一个DHCP服务器。如何使用dhclient两个接口的IP地址续订? 如果我做: dhclient -r && dhclient eth0 它更新上的IP eth0。然后,如果我只想做: dhclient eth1 它因错误而失败: dhclient(22421) is already running - exiting. 我可以: dhclient -r && dhclient eth1 但是该dhclient -r部分释放了租约,我也松开了IP地址eth0。 现在,我已经成功地做我想做的唯一方法是运行dhclient的eth0,残忍地杀了它,并运行它eth1:我有一个更新的IP两个接口上结束。 我也测试了dhclient -x而不是dhclient -r,没有运气。 当然,这不是要走的路! 编辑: 建议这样做的两个答案dhclient -r eth0 eth1 && dhclient eth0 eth1 确实将广播呼叫限制在这些接口上。但是,第一个应答的DHCP服务器将是唯一使用的DHCP服务器,因此会在单个接口(而不是两个接口)上产生一个新IP。看到这里,我们可以看到DHCPDISCOVER两个接口上的调用,但是DHCPREQUEST只能在eth0找到DHCP服务器的第一个接口上进行: Listening on LPF/eth0/0a:00:27:00:00:00 Sending on LPF/eth0/0a:00:27:00:00:00 Listening on …
16 networking  dhcp 

6
无法删除网桥-“网桥br0仍在运行;无法删除它”
我和这个人有同样的问题:关闭并删除已启动的网桥接口 但是该解决方案对我不起作用。 我使用brctl delif从网桥中删除所有接口。然后,使用ifconfig或ip将链接设置为down。然后,我尝试使用brctl br0删除网桥“网桥br0仍在运行;无法删除它”。 该平台是Raspberry Pi上的Raspbian。 有任何想法吗? 来自ifconfig和ifconfig -a的相同输出: br0 Link encap:Ethernet HWaddr 54:e6:fc:89:be:4b inet6 addr: fe80::56e6:fcff:fe89:be4b/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:36 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 B) TX bytes:6569 (6.4 KiB) eth0 Link encap:Ethernet …

2
如何获取Unix服务器中可用端口的列表
我需要知道Solaris机器中的哪些端口可以自由用于任何类型的网络通信。 我尝试了netstat -a命令。但是返回的信息并不能令人信服地说明我可以在正在编写的新应用程序中使用哪个端口。感谢在这方面提供的任何帮助。
15 networking 

1
为什么我的TCP吞吐量比UDP吞吐量大得多?
我没有对硬件或内核配置(所有默认设置,全新的操作系统安装,Linux内核3.11 TCP / IP堆栈)进行任何异常处理,通过TCP我平均每秒平均发送约383万条消息,而我平均仅为0.75每秒通过UDP的百万条消息。这似乎完全违背了我对这两个协议的期望。 造成这种巨大差异的最可能原因是什么,如何在Ubuntu 13.10上进行诊断? #TCP RESULTS Recv Send Send Utilization Service Demand Socket Socket Message Elapsed Send Recv Send Recv Size Size Size Time Throughput local remote local remote bytes bytes bytes secs. 10^6bits/s % S % S us/KB us/KB 87380 65536 64 10.00 1963.43 32.96 17.09 5.500 …

3
在Linux上“离线”运行子进程的命令(无外部网络)
我有一个程序要在脱机模式下进行测试,而又不中断我的实际网络。该程序仍然需要连接到本地套接字,包括Unix域套接字和环回。它还需要侦听回送并且对其他应用程序可见。 但是尝试连接到远程计算机应该失败。 我想有一个工具,它的工作原理是strace/ unshare/ sudo,只是运行在互联网(和LAN)隐蔽和一切仍在工作的命令: $ offline my-program-to-test 该问题的答案提示:阻止进程的网络访问? 那里有一些建议,例如以其他用户身份运行然后操纵iptables或unshare -n。但是在两种情况下,我都不知道要与主系统共享unix域套接字和环回的诱惑-该问题的答案仅告诉我如何取消共享整个网络。 我正在测试的程序仍然需要连接到我的X服务器和dbus,甚至还能够在环回侦听来自系统上其他应用程序的连接。 理想情况下,我想避免创建chroot或用户或VM等,因为它就像拔掉网络电缆一样令人讨厌。即问题的关键是我怎样才能使它简单如一个sudo。 我希望该过程能够正常运行100%,除了指定非本地地址的网络调用会失败。理想情况下,保持相同的uid,相同的homedir,相同的pwd,相同的所有内容,除了...离线。 我使用的是Fedora 18,因此无法移植的Linux回答就很好(甚至期望)。 我什至很乐意通过编写C程序来解决此问题,如果涉及到这一点,那么涉及编写C的答案就可以了。我只是不知道C程序在保留本地网络的同时撤销外部网络访问权限时需要执行什么系统调用。 任何尝试支持“离线模式”的开发人员都可能会喜欢此实用程序!

4
是否在/ etc / hosts中包含域名?
我正在设置CentOS节点的VMWare集群。在机器后添加域名是否是最佳实践?忽略它有哪些潜在问题?域会使配置复杂化还是简化配置? 例如,如果我的节点位于192.168.1.93,我应该/etc/hosts从 127.0.0.1 localhost.localdomain localhost 至 127.0.0.1 localhost.cluster localhost 192.168.1.93 computernode1.cluster computenode1 要么 127.0.0.1 localhost 192.168.1.93 computenode1 要么 #127.0.0.1 localhost 192.168.1.93 computenode1 要么 192.168.1.93 localhost 192.168.1.93 computenode1
15 networking 

1
iproute软件包中的“ ss”命令;为什么要查询平板表中的timewait套接字?
如果这不是解决此问题的最佳论坛,请原谅我,但它似乎与内核有关,而不是与编程本身有关。 我正在编写一个脚本,用于查询系统的开放端口,以便我们可以绘制图形并监视统计信息。为此,我使用了iproute软件包中的“ ss”命令。如果执行ss -s|grep estab,将收到类似以下的输出: TCP: 296 (estab 6, closed 238, orphaned 0, synrecv 0, timewait 238/0), ports 0 我的问题与timewait变量有关,该变量显示了处于TIME_WAIT状态的计算出的套接字。当我试图找出在斜杠后引用的数字时,它成为了寻找源代码的狂热冒险,最终使我找到了以下代码段: printf("TCP: %d (estab %d, closed %d, orphaned %d, synrecv %d, timewait %d/%d), ports %d\n", s.tcp_total + slabstat.tcp_syns + s.tcp_tws, sn.tcp_estab, s.tcp_total - (s.tcp4_hashed+s.tcp6_hashed-s.tcp_tws), s.tcp_orphans, slabstat.tcp_syns, s.tcp_tws, slabstat.tcp_tws, slabstat.tcp_ports ); 我必须承认,我对“ …

3
我可以将用户(及其应用程序)限制为一个网络接口吗?
实际上,我有两种情况可以应用: Multiseat Desktop:具有Internet网关的两个网络连接,以及两个帐户,每个帐户分别执行带宽密集型任务。我想将它们拆分为一个帐户仅使用eth0,第二个帐户仅使用eth1。 服务器:我在服务器上有两个IP,我想确保邮件用户仅从第二个IP(eth0:1别名)发送电子邮件 第二个可能是IPTabled(我只是不知道如何)通过该接口路由电子邮件流量,但是第一个将处理各种流量,因此需要基于用户。如果有基于用户的解决方案,我可以在两个地方都应用。

2
实际使用TCP_DEFER_ACCEPT?
我在网上仔细阅读了Apache httpd手册,并遇到了启用它的指令。在手册页中找到以下内容的描述tcp: TCP_DEFER_ACCEPT (since Linux 2.4) Allow a listener to be awakened only when data arrives on the socket. Takes an integer value (seconds), this can bound the maximum number of attempts TCP will make to complete the connection. This option should not be used in code intended to be …

5
每个网络端口的流量统计信息
我有两台具有两个应用程序的机器,它们在几个网络端口(TCP和UDP)上互相通信。我想计算他们发送和接收的流量。我不仅需要总体计数,还需要每天每端口每台计算机的统计信息。我尝试了darkstat,但它不提供每天的统计信息,而仅提供总体计数器。 还有其他方法可以计算该流量(可以在两台计算机之间放置一些代理或网关)。

3
两个接口,两个地址,两个网关?
我有一个系统,该系统具有两个具有不同IP地址的网络接口,它们都在公共地址范围内(尽管在第一个情况下是通过NAT),并且都具有不同的网关。(长话短说,这是出于测试目的) 现在的问题是,如果我尝试ping第二个接口上的地址,则默认路由会通过第一个接口指出-永远不会正确到达。 是否可以确保响应始终与传入的消息通过相同的网络接口(并且具有相同的源IP)发出?如果是这样,怎么办?

3
仅允许某些接口上的某些出站流量
我有一个奇怪的问题。我有两个网络接口的服务器eth0和eth1。每个都连接到不同的网络。每个网络都有一个互联网网关。服务器具有各种出站连接:http(服务器上的某些脚本抓取网站的脚本),nfs客户端,samba客户端,dns客户端和电子邮件提取程序,仅举几例。 由于我不愿讨论的原因,我需要将这些出站客户端进行拆分,以便仅在eth0其他一切都通过的情况下才请求出站http,nfs,samba和dns流量eth1。 我已经阅读了一些Google搜索,看起来似乎iptables是我所需要的,但我真的没有头绪。我只习惯于通过来管理入站防火墙规则ufw。 有人可以从一些示例规则开始,然后告诉我如何让系统在启动时采用这些规则吗?理想情况下,无需将我锁定在SSH连接之外(我可以进行物理访问,但我宁愿不这样做)。 编辑如果可以将所有出站流量从一个帐户限制到一个接口,我可以将客户端分为两个用户。在纸上看起来似乎更容易。

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.