标签: linux-networking

什么是 systemd-networkd 等价于 post-up?(动态网桥MAC配置)

在使用/etc/network/interfaces(例如 Debian)的Linux 发行版中,我可以获得一个(内核)桥来使用其静态桥从接口之一的 MAC48 地址,例如内置的wlan0,使用post-up,如下所示:

 post-up ip link set br0 address `cat /sys/class/net/wlan0/address`
Run Code Online (Sandbox Code Playgroud)

这确保了 1) 每个克隆系统都使用其自己独特的 MAC48(来自独特 wlan0 的那个),以及 2) 即使在热插拔具有较低 MAC48 的其他桥接接口时,桥 MAC 也能保持稳定。

systemd-networkd 是否支持任何类型的 post-up在网络(或 netdev)启动后可以运行的命令?我试图找到这样的东西,但可能已经错过了。

或者 systemd 中的正确方法是否完全不同,即拥有一个设备单元和一个包装ip link...命令并依赖于设备单元的服务?如果是这样,设备单元和服务单元文件会是什么样子?

networking debian bridge linux-networking systemd

11
推荐指数
1
解决办法
6078
查看次数

ifconfig 显示 UP 而 ip link 显示 DOWN

我正在查看 Linux 系统上接口的状态。当我使用该ifconfig命令时,它显示链接已打开。

master $ ifconfig docker0
docker0   Link encap:Ethernet  HWaddr 02:42:b9:25:be:2d
          inet addr:172.18.0.1  Bcast:0.0.0.0  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
Run Code Online (Sandbox Code Playgroud)

但是,当我运行ip link命令时,它已关闭。

master $ ip link show docker0
3: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT group default
    link/ether 02:42:b9:25:be:2d brd ff:ff:ff:ff:ff:ff
Run Code Online (Sandbox Code Playgroud)

有人可以解释一下吗?

networking ifconfig linux-networking interface

11
推荐指数
1
解决办法
7462
查看次数

我需要一个 SSH 反向代理解决方案

嗨,这是一种情况,我在公司数据中心有一台用于项目的服务器。我在端口 22 上可以通过 SSH 访问这台机器。在这台服务器上运行着一些虚拟机,然后在许多其他操作系统正在运行的每件事的背后。现在,由于我在数据中心防火墙后面,我的主管问我是否可以做一些事情,让互联网上的许多人直接访问这些虚拟机。我知道如果我被允许在 22 以外的端口上获得流量,那么我可以进行端口转发。但是由于我不允许这样做,所以在这种情况下可以解决什么问题。想要连接的人可能完全是白痴。他们可能只是在他们的机器上打开腻子就很高兴,甚至可能是 filezilla。

我手上没有防火墙,也没有打开 22 以外的任何端口,事实上,即使我要求他们也不允许打开。2 次 SSH 不是我的主管想要的东西。

ssh reverse-proxy ssh-tunnel linux-networking

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

如何通过另一台主机路由主机的网络流量?

我不是我们公司网络的系统管理员,但我有两个 Linux 工作站(主机 A 和 B),它们都具有 root 访问权限。

两个主机都可以很好地看到对方(ssh、ping 等从一个到另一个工作)。但是,只有主机 A 可以伸出我们公司的防火墙并访问 Internet 等;主机 B 不能。

问题:如何在不涉及我的系统管理员的情况下通过主机 A 路由主机 B 上的所有(而不仅仅是 HTTP)传出和传入网络流量?现在,我不知道是否需要对主机 B 使用 NAT,和/或将主机 A 设为代理服务器,和/或将主机 A 设为路由器。

在主机 B 上,我尝试发出route add -host <HostA> gw <HostA's Gateway>命令,但没有奏效:我无法ping从主机 B访问www.google.com。请原谅我对路由/网络这个主题的无知。

traffic routing linux-networking

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

围攻:描述符表已满 sock.c:119:打开的文件太多

我正在尝试使用 siege 和以下命令在我自己的服务器中进行压力测试:

$ siege -c 500 myweb.com/somefile.php
Run Code Online (Sandbox Code Playgroud)

但我收到此错误:

[error] descriptor table full sock.c:119: Too many open files
Run Code Online (Sandbox Code Playgroud)

我也收到了这个警告:

libgcc_s.so.1 must be installed for pthread_cancel to work
Run Code Online (Sandbox Code Playgroud)

但是我使用的是 Ubuntu 15.04(开发分支)并且我已经安装了 libgcc1 包,所以我不知道它为什么要抱怨那个 .so 共享库。

如何解决打开的文件过多和 libgcc 警告?

ubuntu connection linux-networking socket gcc

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

DH GEX 组超出范围

我在通过 SSH 连接到我的服务器时遇到了一个突然的问题:

ssh -v --@--
OpenSSH_7.2p2 Ubuntu-4ubuntu1, OpenSSL 1.0.2g-fips  1 Mar 2016
debug1: Reading configuration data /home/paul/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to -- [--] port 22.
debug1: Connection established.
debug1: identity file /home/paul/.ssh/id_rsa type 1
debug1: key_load_public: No such file or directory
debug1: identity file /home/paul/.ssh/id_rsa-cert type -1
debug1: key_load_public: No such file or directory
debug1: identity file /home/paul/.ssh/id_dsa type -1
debug1: key_load_public: No such file or directory …
Run Code Online (Sandbox Code Playgroud)

linux ubuntu ssh linux-networking

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

如何调试 linux 网络:地址已在使用中

我有一个 Slackware linux 机器,我无法启动任何侦听本地主机上一个特定端口的服务。通过使用 strace 我发现错误发生在bind()调用中,错误是EADDRINUSE (Address already in use)

bind(3, {sa_family=AF_INET, sin_port=htons(874), sin_addr=inet_addr("127.0.0.1")}, 16) = -1 EADDRINUSE (Address already in use)

我尝试开始侦听该端口的任何进程都会发生这种情况,因此它与进程本身无关。上面的 strace 输出来自命令strace -ff nc -l -p 874 -s 127.0.0.1.

所以,这表明有一个进程已经在侦听本地主机端口 874。但是,我似乎找不到它。以下命令均不返回任何内容:

netstat -aplunt | grep :874
netstat -na | grep :874
lsof -i :874
lsof -i tcp | grep 874
fuser 874/tcp
socklist | grep 874
iptables -t filter -S | grep 874
iptables -t nat -S | grep 874
iptables …
Run Code Online (Sandbox Code Playgroud)

networking linux-networking

10
推荐指数
1
解决办法
6006
查看次数

Keepalived 定期发送免费 ARP

有没有办法让keepalived定期发送免费的ARP?

我们有以下情况:

  1. 交换机故障(VLAN 设置)
  2. keepalived 故障转移到备份实例
  3. 备份实例发送了无偿 ARP,但 Cisco ASA 设备没有收到(因为交换机故障)
  4. 当交换机恢复时(几分钟后)VIP 无法访问,因为 ASA 没有刷新 ARP 表(ARP 表到期时间设置为 4h)
  5. 由于 ASA 已经拥有来自先前活动节点的 MAC,因此它没有发送 ARP 请求
  6. VIP 无法访问,直到我们重新启动了启动新 GARP 的 keepalived 实例

因此,我们认为我们可以通过定期 GARP 来避免这种情况。这是一个好方法吗,有没有办法在keepalived中做到这一点?

还有其他建议可以避免此类问题吗?

保活配置:

global_defs {
   notification_email {
     email@address.com
   }

   notification_email_from SERVER_1
   smtp_server smtp.server.local
   smtp_connect_timeout 30
   router_id SERVER_1
}

vrrp_instance V1 {
    state BACKUP
    nopreempt
    interface eth0
    lvs_sync_daemon_interface eth0
    virtual_router_id 150
    priority 120
    advert_int 1
    persistence_timeout 0
    smtp_alert

    authentication {
        auth_type PASS
        auth_pass xxx
    }

    virtual_ipaddress {
    10.xxx.xxx.xxx …
Run Code Online (Sandbox Code Playgroud)

failover high-availability arp linux-networking keepalived

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

systemd:如何有选择地禁用特定 WLAN 接口的 wpa_supplicant?

在 Linux 系统上systemdnetworkd我需要在一个 WLAN 接口上运行 WLAN 接入点,同时在正常站(“客户端”)模式下运行更多(热插拔)WLAN 接口。

事实证明,wpa_supplicant.service在我所有的 WLAN 接口上都可以使用,如果所有这些 WLAN 接口都可以在工作站/客户端模式下运行,那就没问题了。但是,虽然wpa_supplicant.service提供 WLAN 接口,但不可能(不再?)hostapd.service在 AP 接入点模式下运行该 WLAN 接口。

所以我只想禁用wpa_supplicant.service特定接口,比如wls35u2. 我的想法是有一个wpa_supplicant@wls35u2.service我可以有选择地禁用但保持wpa_supplicant.service启用状态的单元。但是,这似乎不起作用,或者我在wpa_supplicant@wls35u2.service.

那么,如何仅在特定接口上禁用 WPA 请求方服务而不全局禁用它?

debian linux-networking systemd

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

在透明模式下使用防火墙的原因是什么?

在网上查了一些资料,发现透明防火墙的优点只有两个:

  • “隐形”模式,即成为网络上隐形的主机
  • 无需修改互联网协议 (IP) 地址即可轻松安装到现有网络中

但这看起来有点不完整,而且可能毫无根据。看来供应商(或开源伙伴)应该有一些更好的理由来实现这样的模式,并让客户购买(使用)这个功能。

networking security linux firewall linux-networking

10
推荐指数
1
解决办法
2530
查看次数