标签: linux-networking

PXE 在内部网络模式下引导 Virtualbox 来宾?

我不确定这是否只是特定于我的发行版软件包,还是 vbox 限制。因此,任何帮助将不胜感激。

好的,所以我有一个虚拟机网络,其中一个虚拟机充当“内部”网络中其他虚拟机的 NAT。其中一台虚拟机正在运行 DHCP 和 TFTP 服务器,我只需要从该服务器启动其他虚拟机,但是从网络启动时我启动的所有虚拟机是“致命:无法从启动介质读取!系统”停止”。

这有点令人沮丧,因为 vbox 非常易于使用和试验,但我无法解决这个错误。帮助 ?

dhcp ubuntu virtualbox linux-networking pxe-boot

13
推荐指数
1
解决办法
1万
查看次数

将 mysqldump 的输出重定向到 scp

几年前我曾与一位 linux 专家合作,他做了这个绝妙的把戏。他可以执行mysqldump 但将输出重定向到 scp/ssh 连接而不是写入磁盘。我们在我以前工作的地方稍微利用了这种安静,但我不记得如何做到这一点了。

我现在面临的问题是我的服务器中的硬盘驱动器处于最后阶段,并且出于密集目的,永久安装为只读。

我希望利用这个命令行技巧仍然能够将我的数据库备份到新服务器上,因为将转储写入本地磁盘并传输它显然是不可能的。

这实际上是一个小技巧吗?如果是这样,语法是什么?

我已经意识到由于只读文件系统问题,我什至无法连接到 mysql 进行转储。但是您的反馈很棒,希望将来对其他人有用

mysql linux scp pipe linux-networking

13
推荐指数
2
解决办法
1万
查看次数

为什么必须在桥接设备上配置IP?

我对网桥的理解是有一种“虚拟交换机”,它虚拟地连接网络设备(已添加到网桥),就好像我会用电缆将它们连接到真正的交换机……但一定有问题这种类比,由于某种原因,我需要在桥接设备上设置我的 IP 地址。

例子

例如,让我们进行以下设置:我有一台机器充当多个虚拟机的主机(拥有自己的虚拟网络设备 vnet0、vnet1、vnet2……)。这台机器有一个物理网络接口 eth0,我想用于所有虚拟机和我的主机与外界进行通信。

由于我的主机应该有一个 IP 地址,因此我认为我应该在 eth0 上配置这个 IP(inkl。默认网关,DNS 服务器,...)。然后我会创建一个网桥 br0 并将所有接口(eth0、vnet0、vnet1、vnet2、..)添加到该网桥。这不起作用...

相反,我需要将网桥 br0 配置为具有我主机的 IP 地址(并​​且还配置了默认网关和 DNS 服务器),然后将所有接口(eth0、vnet0、vnet2...)添加到网桥 br0 .

嗯,......这有效。但我实际上想知道为什么在 eth0 上定义 IP 不起作用。我似乎缺少一些关于这实际上是如何工作的基本知识。因此,如果有人可以向我解释这有什么问题,我会很高兴。我通常想真正了解这些东西是如何工作的。因此,如果您要详细了解协议,我会很高兴。

linux routing ip bridge linux-networking

13
推荐指数
1
解决办法
4211
查看次数

SynProxy 无法返回非对称双桥拓扑的同步确认数据包

当我使用 ssh 从 172.16.11.5 和 172.16.10.6 连接时,我有一个非对称双桥拓扑,如下所示,但由于 SynProxy 我无法连接。

                  -------
                  |     |
                  ---o--- 172.16.11.5
                     |
                     |
                -----o----- 172.16.11.6
                |         |
                |         | default gw 1.1.1.1
                |         |
     1.1.1.2/30 --o----o--- 2.2.2.2/30
                  |    |
                  |    |
                  |    | (enp10s0f0)
              ----o----o-----
              |             |
              |     XXX     |
              |             |
              |  br1   br0  | synproxy
              |             |
              ----o----o-----
                  |    |
                  |    |
                  |    |
     1.1.1.1/30 --o----o--- 2.2.2.1/30
                |         |
                |         | default gw 2.2.2.2
                |         |
                -----o----- 172.16.10.1
                     |
                     |
                  ---o--- 172.16.10.6
                  |     |
                  ------- …
Run Code Online (Sandbox Code Playgroud)

linux tcp tcpdump linux-networking

13
推荐指数
1
解决办法
1532
查看次数

阻止中国连接到我的 Google Compute Engine 服务器

我的公司有一台托管在北美的 Google Compute Engine 服务器。我们有太多的中国 IP 地址向端口 11 发送请求,以至于我们要为入口花钱。我们的防火墙已经阻止了与中国的所有连接,因为他们无法访问我们的应用程序。

有没有办法完全忽略这些连接,或者以不会占用带宽的方式阻止它们?

firewall hacking china linux-networking google-compute-engine

13
推荐指数
3
解决办法
8242
查看次数

Debian 7 如何设置 IPv6 链接本地地址?

似乎当 dhclient 在 eth0 上运行时,我从 DHCP 服务器获得了一个 IPv4 地址和一个附加到 eth0 的 Scope:Link IPv6 地址:

inet6 addr: fe80::a00:27ff:fed0:4d41/64 Scope:Link
Run Code Online (Sandbox Code Playgroud)

但是我无法从 dhclient-script 中看到该地址是如何添加的。在另一个具有静态 IP 地址的接口上,我想添加一个链接本地 IPv6 地址,我想知道是否有一个通用命令可以在不知道 mac 的情况下执行此操作。

编辑:
当您执行“ip link set dev ethX up”或“ifconfig ethX up”时,内核似乎会分配链接本地地址。但是,在我的情况下,我将一根电缆插入了 DHCP 的接口,而没有电缆插入我静态设置的接口。直到星期一才能验证,但我猜如果没有链接,内核不会将链接本地地址分配给接口。

ipv6 linux-networking dhclient

12
推荐指数
2
解决办法
2万
查看次数

Netstat 挂起:为什么?

有时(不太经常)当我输入“netstat”时,它需要超过 5 秒才能返回。而其他时间是瞬时的。

我已经在我的服务器(CentOS 6.4)上观察了几个星期,但我不明白为什么!?

谁能给个解释?

netstat hanging linux-networking

12
推荐指数
1
解决办法
8655
查看次数

“genmask”和“netmask”之间的区别?

route -nLinux 上的输出中,您会得到如下信息:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.0.0.1        0.0.0.0         UG    0      0        0 eth0
10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.169.254 0.0.0.0         255.255.255.255 UH    0      0        0 eth0
Run Code Online (Sandbox Code Playgroud)

我知道这Genmask是指路由的网络掩码部分,但为什么它被称为“Genmask”而不是“网络掩码”,就像其他地方一样?这实际上是我见过“Genmask”的唯一地方。

networking routing linux-networking

12
推荐指数
1
解决办法
1万
查看次数

为什么处于 FIN_WAIT2 状态的连接不被 Linux 内核关闭?

我有一个叫长寿命过程中的问题KUBE-代理的存在部分Kubernetes

问题是有时连接会处于 FIN_WAIT2 状态。

$ sudo netstat -tpn | grep FIN_WAIT2
tcp6       0      0 10.244.0.1:33132        10.244.0.35:48936       FIN_WAIT2   14125/kube-proxy
tcp6       0      0 10.244.0.1:48340        10.244.0.35:56339       FIN_WAIT2   14125/kube-proxy
tcp6       0      0 10.244.0.1:52619        10.244.0.35:57859       FIN_WAIT2   14125/kube-proxy
tcp6       0      0 10.244.0.1:33132        10.244.0.50:36466       FIN_WAIT2   14125/kube-proxy
Run Code Online (Sandbox Code Playgroud)

这些连接会随着时间的推移而堆积,从而使过程行为异常。我已经向 Kubernetes bug-tracker报告了一个问题,但我想了解为什么 Linux 内核没有关闭此类连接。

根据其文档(搜索 tcp_fin_timeout),处于 FIN_WAIT2 状态的连接应该在 X 秒后被内核关闭,其中 X 可以从 /proc 读取。在我的机器上它设置为 60:

$ cat /proc/sys/net/ipv4/tcp_fin_timeout
60
Run Code Online (Sandbox Code Playgroud)

所以如果我理解正确的话,这样的连接应该在 60 秒后关闭。但事实并非如此,他们在这种状态下停留了几个小时。

虽然我也明白 FIN_WAIT2 连接非常不寻常(这意味着主机正在等待来自连接远程端的一些 ACK,但它可能已经消失了)我不明白为什么这些连接没有被系统“关闭” .

有什么我可以做的吗?

请注意,重新启动相关进程是最后的手段。

connection kernel tcp linux-networking

12
推荐指数
1
解决办法
4万
查看次数

UDP 流量未从 Docker 容器转发 -> Docker 主机

我有一个 docker 容器,但我无法从容器内部运行 DNS 查找,尽管它在 docker 主机上运行良好。

已知构建 Docker 主机的配置管理代码可在市场上的标准 RHEL 7 映像上运行,因此已知问题出在 SOE RHEL 7 映像内部。

RHEL 7.2 / Docker 版本 1.12.6,构建 88a4867/1.12.6。容器是 RHEL 7.3。SELinux 处于启用/许可模式。Docker 主机是一个 Amazon EC2 实例。

一些配置:

# /etc/sysconfig/docker
OPTIONS='--dns=10.0.0.10 --dns=10.0.0.11 --dns-search=example.com'
DOCKER_CERT_PATH=/etc/docker
ADD_REGISTRY='--add-registry registry.example.com'
no_proxy=169.254.169.254,localhost,127.0.0.1,registory.example.com
http_proxy=http://proxy.example.com:8080
https_proxy=http://proxy.example.com:8080
ftp_proxy=http://proxy.example.com:8080
Run Code Online (Sandbox Code Playgroud)

容器和主机中的解析器配置是一样的:

# /etc/resolv.conf
search example.com
nameserver 10.0.0.10
nameserver 10.0.0.11
Run Code Online (Sandbox Code Playgroud)

如果我重新启动 docker 守护进程,--debug我会看到以下内容journalctl -u docker.service

Aug 08 11:44:23 myhost.example.com dockerd-current[17341]: time="2017-08-08T11:44:23.430769581+10:00" level=debug msg="Name To resolve: http://proxy.example.com."
Aug 08 11:44:23 myhost.example.com dockerd-current[17341]: time="2017-08-08T11:44:23.431488213+10:00" level=debug …
Run Code Online (Sandbox Code Playgroud)

kernel-modules bridge linux-networking docker

12
推荐指数
1
解决办法
2万
查看次数