Articles of linux networking

重命名Linux vlan子接口

我为4个不同的VLAN创build4个不同的子接口。 子接口现在是这种forms eth0.a, eth0.b, eth0.c, eth0.d. 我正在寻找一个解决scheme来重命名这些接口。 使已经占用这些接口的应用程序不必改变。 我试过ip link set dev name命令,但更改是不持久的重新启动。 所以寻找一个持久的解决scheme。 任何指针/build议/帮助将非常感激。 谢谢!

如何为qemu启用“br0”设备的DHCP?

我创build了一个Windows XP映像,并使用qemu引导它。 我正在使用qemu-bridge-helper来设置networking。 在qemu totorials之后,我configuration了/etc/qemu/bridge.conf来允许br0桥接设备。 这是我用qemu启动Windows XP的方法: qemu-system-x86_64 –enable-kvm -m 2048 \ -drive file=winxp.img,if=virtio \ -net nic,model=virtio \ -net bridge,br=br0 图像很好地启动,但我没有得到一个IP地址。 原因是Windowsconfiguration为使用DHCP,但“br0”不提供DHCP地址,因为它只是一个网桥接口。 我的问题是 – 如何configuration“br0”给DHCP地址的winxp? (当通过-net user使用“用户模式联网”时,Windows会分配一个IP,以便Windows驱动程序正确安装。)

脚本退出,错误状态为127

我写了一些脚本,在linux上的特定接口上设置路由(CentOS 6.0),并把它们放到Networkmanager脚本path(/etc/Networkmanager/dispatcher.d)中,前缀号码最高(我也给了执行权限)。 这是我的脚本: #!/bin/bash if [[ "$1" == "eth1" ]] && [[ "$2" == "up" ]] then ip route add 192.XX.XX.0/24 dev eth1 src 192.XX.XX.XX table eth1 #logger scrip run. fi 但是当eth1启动时,我在系统日志消息列表上看到这个错误: localhost nm-dispatcher.action: Script '/etc/NetworkManager/dispatcher.d/99-eth' exited with error status 127. 谁能说哪里是我的错误?

Ubuntu 16.04,Keepalived VMAC

我试图构build两个冗余的前向负载均衡器(使用IPVS或NGINX),但首先我想让浮动VRRP虚拟ip / mac正常工作,然后再继续前进。 在VMware vSphere 6上有最新更新的Ubuntu 16.04虚拟机。 虚拟机在DvSwitch端口组上,混合模式,MAC地址改变,并且伪造的传输被启用。 VM正在使用VMXNET3用于NIC。 我在回购中使用标准keepalived。 keepalived/xenial-updates,now 1:1.2.19-1ubuntu0.1 amd64 [installed] 我正在尝试使用以下configurationkeepalived … root@lb1:~# cat /etc/keepalived/keepalived.conf vrrp_instance VI_1 { state MASTER interface ens192 virtual_router_id 150 priority 150 use_vmac vrrp150 vmac_xmit_base advert_int 1 virtual_ipaddress { 10.0.4.55 } } 当初始设置时,朝着macvlan接口(vrrp150)的ping与ARP接口MAC(由于若干原因而不好)进行ARP应答。 我试图使用net.ipv4.conf设置的许多不同组合,在网上设置,他们似乎完全破坏ARP的macvlan接口。 iptables和ufw完全禁用了我的知识,和tcpdump显示以下… root@lb1:~# tcpdump -s0 -i vrrp150 tcpdump: verbose output suppressed, use -v or […]

OpenVPN路由到LAN在服务器后面

我有一个使用OpenVPNconfiguration的站点到站点VPN。 隧道似乎很好(我可以从一端到另一端),但是我不能让两端的networking看到对方。 我的拓扑结构如下所示: Net1 (192.168.13.0/24) | | | 192.168.13.35 ens160 ———– OVPN Client ———– tun0 10.13.10.2 | | 10.13.10.1 tun0 ———– OVPN Server ———– ens160 10.1.121.6 | | Net2 (10.1.121.0/26) 我可以从客户端ping服务器: srv# ping 10.13.10.2 PING 10.13.10.2 (10.13.10.2) 56(84) bytes of data. 64 bytes from 10.13.10.2: icmp_seq=1 ttl=64 time=5.46 ms 64 bytes from 10.13.10.2: icmp_seq=2 ttl=64 […]

确定正在创build给定IP的数据包的进程(和用户)

给定一个外部IP地址和目标端口,在Linux中,有什么办法可以使用类似ngrep或tcpdump东西来识别有时向它发送stream量的进程和/或用户? 还是iptables规则? 是否有build议的方式来运行不是太耗费资源的持续监视器?

无法远程连接到Postgresql 9.5实例

我努力连接到在Ubuntu 16.10上运行的远程Postgres 9.5实例。 通常: psql:无法连接到服务器:连接超时 服务器是否在主机“xx.xx.xx.xx”上运行,并在端口5432上接受TCP / IP连接? 我的postgresql.conf包括 listen_addresses='*' 由输出确认 netstat -nlp | grep 5432 tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN 22981/postgres tcp6 0 0 :::5432 :::* LISTEN 22981/postgres unix 2 [ ACC ] STREAM LISTENING 3320886 22981/postgres /var/run/postgresql/.s.PGSQL.5432 除了我的具体IP地址和范围外,我还尝试了pg_hba.conf中的以下条目: host all all 0.0.0.0/0 md5 host all all ::/0 md5 host all all all […]

创build虚拟桥接主机networking

试图在Ubuntu机器上build立虚拟网桥,主机networking破裂 #ip link add name br0 type bridge #ip link set dev eth0 master br0 #ip link set dev br0 up #ping <gateway_addr> // failed #ip neigh <gateway_addr> dev eth0 FAILED #echo 1 >/proc/sys/net/conf/ipv4/br0/arp_accept #ping <gateway_addr> // failed #ip neigh <gateway_addr> dev eth0 FAILED <gateway_addr> dev br0 lladdr <mac_addr> REACHABLE Ping到网关不成功,但是当我删除网桥并将其作为eth0的主服务器删除时,它会执行此操作。 我错过了什么。 请指教!

如何找出接口入站stream量正在使用?

对于传出的数据包,通过route我可以知道哪个接口正在使用,但是对于传入的数据包,如何找出正在使用哪个接口?

Linux:由于延迟的客户端问候,SSL握手很慢

在调查一个影响同时受到影响的代理集群的问题时,我发现在build立SSL连接时存在奇怪的行为。 现象的症状是,当出现冲击时,传出的HTTPS请求比平常要慢,我已经把它放慢了,以便完成SSL握手。 HTTP请求/连接不会以相同的方式受到影响。 这个问题似乎是由于TCP三次握手结束和代理发送Client Hello之间的延迟而导致的出站连接。 之后,握手正常完成,没有延迟。 以下是来自stream量捕获的一些示例: to api.twitter.com (延迟2.4秒): 到graph.facebook.com (延迟28.4秒): 即使在第二个例子中重传, Client Hello包也不应该花那么长时间才能出去。 一些事实/考虑: 这个问题在一天中的特定时间(大约1000小时和1700小时)暂时出现,影响所有主机并在30分钟内消失。 以后,同时 这将表明一个外部原因(networking,也许),但tcpdump输出似乎把责任放在本地服务器 CPU,负载,内存和其他所有监视的性能指标都是正常的 它会影响所有的SSL远程主机 影响连接随机,一些行为正常,但很多是非常缓慢的 吞吐量(握手后)似乎没有受到影响 一旦问题通过,SSL连接到相同的远程主机一直很快 testing用curl和openssl s_client connect ,结果相同 需要澄清的是: 这可能是什么原因造成了这样的拖延? Wirehark可以欺骗我吗? 还有什么其他的性能指标/统计/命令可以用来进一步排查延误的原因? 是否有任何networking因素(MTU,接收缓冲区,碎片),可以certificate这种行为? 我如何find证据来澄清是否是我的服务器外部的networking问题? 软件版本 : 红帽企业Linux服务器版本5.11(Tikanga) OpenSSL 0.9.8e-fips-rhel5 2008年7月1日 kernel 2.6.18-416.el5#1 SMP Wed Oct 26 12:04:18 EDT 2016 x86_64 x86_64 x86_64 GNU / Linux […]