Articles of Linuxnetworking

在linux上无主的监听套接字

以root netstat -tnlp4e , netstat -tnlp4e包含一些没有所有者的侦听套接字。 Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name tcp 0 0 0.0.0.0:58245 0.0.0.0:* LISTEN 0 9578 – lsof -n -i :58245什么也没有返回。 以下search也没有发现: for D in $(ls -1 /proc); do if [ -d $D -a -d "$D/fd" ];then ls -l $D/fd/ | grep 9578 fi done […]

在OpenSWAN / IPSEC隧道之间进行路由

我正尝试使用OpenSWAN和Amazon VGW将多个Amazon VPC(跨地区)连接在一起。 路由器实例可以ping通两个VPC中的主机,并且stream量正试图穿越路由器,但正在被丢弃。 编辑:我看到计数器XfrmInNoPols递增,当ping不被转发。 在这种情况下,有两个VPC正在连接,而恰好在第三个VPC中的实例正在执行路由并充当集线器。 我试图从根本上重新实现Transit VPCfunction( https://aws.amazon.com/blogs/aws/aws-solution-transit-vpc/ ),没有Cisco CSR和自动化的lambdaconfiguration。 我的问题是,枢纽能够达到东方和西方,但从任何一端的数据包到达枢纽,但不能进一步。 拓扑结构: West (172.19.0.0/16) – (hub) – East (172.18.0.0/16) 。 Hub通过VGW连接到两端,因此东/西的明文包不会离开Hub。 按照正常的VGW行为,两端与HUB之间存在两条隧道。 此configuration的基础是https://github.com/patrickbcullen/Openswan-VPC ,修改为支持第二组隧道。 这个脚本的一个奇怪之处是它build立了一个“networking命名空间”( http://man7.org/linux/man-pages/man8/ip-netns.8.html )来处理所有的ipsec和路由。 集线器可以通过IPSEC隧道ping东西方的节点。 VGW同意ipsec和BGP启动,东/西子网看到传播的路由。 枢纽有通往东西方的路线。 iptables是完全开放的。 在sysctl中,rp_filter设置为0,forwarding / ip_forward设置为1。 我在西方设置了一个ping发生器,试图ping东。 数据包到达hub中的openswannetworking名称空间: 16:38:49.311665 IP 35.163.220.45 > 169.254.255.3: ESP(spi=0x0a790d98,seq=0x4f5), length 132 16:38:49.311665 IP 172.19.58.64 > 172.18.57.207: ICMP echo request, id 411, […]

Skype for business连接到Ubuntu网关

我有一个安装了Squid 3.5.22的Ubuntu 16.04服务器。 它被configuration为拦截HTTP和HTTPSstream量(透明)。 所以iptablesredirect用于端口80和443。 当我连接一台局域网的电脑时,除了Skype for Business之外,一切都按预期工作。 据预计,我的意思是一些HTTP和HTTPS域的Internet访问被阻止/redirect到另一个页面。 但是,Skype for Business无法连接,正常的Skype工作正常。 我修改了: https : //support.office.com/zh-CN/article/Create-DNS-records-at-eNomCentral-for-Office-365-a6626053-a9c8-445b-81ee-eeb6672fae77?ui=en-US&rs = en-US&ad = US#bkmk_verify在enom上添加所有DNSconfiguration。 这摆脱了DNS错误,我得到另一个错误,说服务暂时不可用。 将我的网关从我的Linux机箱IP更改回常规路由器,可让我正常loginSkype for Business。 有什么build议,为什么发生这种情况? 任何解决scheme 我search了几天,没有得到任何地方,MS修复程序没有实际工作。 注1:路由器和Ubuntu的WAN接口都使用Google的8.8.8.8 DNS 注2:我用来安装鱿鱼和configuration它的指南有这些iptables规则,使一切工作: http : //pastebin.com/SqpbmYQQ 注3:我只在服务器上安装了Sky(Skype for Business Linux客户端软件),并且没有问题login。 所以我认为这个问题是在iptables或服务器上的网桥上的某个地方。

如何匹配虚拟以太网链路的两端?

我运行所有连接到我自己的桥梁(不是标准docker0之一)的docker集装箱。 这就是从主机的angular度来看(我只留下了与虚拟桥接和以太网有关的信息): root@srv ~# ip link (…) 8: br-7b20560b3603: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default link/ether 02:42:7c:70:e1:47 brd ff:ff:ff:ff:ff:ff 9: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default link/ether 02:42:f1:70:4f:a6 brd ff:ff:ff:ff:ff:ff 11: veth1fb5957@if10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-7b20560b3603 state UP mode DEFAULT group […]

互联网连接丢失后更改

我只安装了一个CentOS 7服务器,安装最less,安装cPanel。 按照cPanel预安装说明,我禁用了selinux和networkingpipe理器并启用了networking,然后继续安装cpanel。 一切顺利安装,互联网连接是好的,因为我能够连接通过ssh和https为whmconfiguration。 完成安装后,我重新启动服务器,现在我没有互联网连接。 我不确定这是由cpanel制定的,还是由我在禁用和启用服务时所做的更改所致。 对我来说,奇怪的第一件事情是ip route list的输出: 169.254.0.0/16 dev enp2s0f0 scope link metric 1002 我的网关IP不应该是这个。 我曾尝试添加一个网关,但我得到一个错误: route add default gw 172.XXX.194.1 enp2s0f0 但是我收到一个错误,说SIOCADDRT: Network is unreachable 所以我先试着做这个: ip route add 172.XXX.194.0/24 dev enp2s0f0 然后运行route add命令。 它运行,我重新启动networking服务,仍然无法ping或访问任何主机,或从外部访问服务器。 我试图重新启动服务器,现在当我键入IP路由列表,我再次得到169.254.0.0/24 … 我对于centos知之甚less,不知道我在这里误解了什么。 我也试图编辑/ etc / sysconfig /networking,但问题依然存在。 这是内容: NETWORKING=yes HOSTNAME=… GATEWAY=172.XXX.194.1 我在做什么错或在这里失踪? 我提到安装的控制面板只是为了提供上下文。 我相信这个问题与我禁用networkingpipe理器和启用networking有关,从此互联网停止工作。 我可以在同一个networking中ping一个服务器,但是没有任何东西在外面。 此外,路线列表似乎是错误的,但我似乎无法改变这一点。 […]

当接口上join不相关的组播组时,STP报文将丢弃(每2秒1个报文)

我试图了解join特定多播组时奇怪的数据包丢弃问题。 我认为这个问题与内核版本2.6.37中引入的补丁有关 Beginning with kernel 2.6.37, it has been changed the meaning of dropped packet count. Before, dropped packets was most likely due to an error. Now, the rx_dropped counter shows statistics for dropped frames because of: Softnet backlog full — (Measured from /proc/net/softnet_stat) Bad / Unintended VLAN tags Unknown / Unregistered protocols IPv6 frames […]

应用程序接收来自不同子网的boradcast

我有2个Linux的框与以下描述 方框A:内核:Linux 2.6 IP:172.19.1.99/24 方框B:内核:Linux 3.14 IP:192.168.200.100/24 连接到第2层交换机 两个盒子都运行UDP广播服务和UDP接收器服务。 接收服务收到广播发送的任何内容。 这些服务一起构成在这些框上运行的Web应用程序使用的自定义发现协议。 问题: 当框A移动到192.168.200.0/24子网,然后移回到172.19.1.0/24子网时,框B上的接收机服务仍然从框A接收广播,但从技术上讲,它应该停止从A接收广播。现在运行在框A上的相同服务此时不接收框B的广播。 只是为了确认我在B框上的接收服务上附加了strace,我可以看到recvfrom系统调用确实正在接收由A框发送的地址为192.168.200.255的广播。 现在,如果我杀死了Box B上的接收服务并重新启动它,那么它将停止接收Box A发送的广播。 总而言之,只有当运行在同一子网中的一个盒子迁移到不同的子网时才会出现这个问题,只能在盒子B上看到。 任何想法,为什么这可能会发生? 更新:只是添加更多的信息框B也使用conntrack模块的iptables可以这一些如何影响这种行为?

在Azure站点恢复下的Linuxnetworking问题

我正在尝试使用Azure站点恢复来保护在Hyper-V中运行的一些内部CentOS 7.2虚拟机。 我已经复制到Azure成功运行,但是在执行testing故障转移时,我无法通过SSH连接到Linux。 我甚至不能成功地ping系统。 即使从Azure中同一个虚拟networking中运行的另一个系统进行testing,我也无法访问此Linux服务器。 Azure说它已经启动,但是看起来networking无法正常工作。 我从系统中删除了networkingpipe理器,并根据我发现的几个可能的问题,将系统更改为使用DHCP,但仍然遇到同样的问题。 任何人有使用Linux与ASR的经验,知道可能会发生什么?

将附加IP附加到VPS(debian),并将这些静态IP用于docker

我创build了一个VPS并添加了其他IP作为别名。 所以我的/etc/network/interfaces看起来像这样: auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.xx91 netmask 255.255.255.255 post-up /sbin/ip route add 192.99.68.1 dev eth0 post-up /sbin/ip route add default via 192.99.68.1 pre-down /sbin/ip route del default via 192.99.68.1 pre-down /sbin/ip route del 192.99.68.1 dev eth0 dns-nameserver 213.186.33.99 dns-search vps.ovh.ca # below is the additional […]

为redhat永久添加默认路由

我有一个由几台RedHat_7电脑组成的集群。 主节点连接到两个networking(内部和Internet)。 我曾经利用NAT为所有电脑提供互联网服务。 出于某种原因,这种方法现在不起作用。 NAT cmds显示如下。 sudo iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o em4 -j MASQUERADE sudo sysctl -w net.ipv4.ip_forward=1 通常,我必须添加一个默认路由, sudo route add default gw 'my_gateway' em4 那么,我可以上网了。 但是,它只能运行几分钟,所以我必须定期执行这些命令。 路线-n得到下面: Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.10.10 0.0.0.0 UG 100 0 0 em1 0.0.0.0 XXX1 […]