Articles of linux networking

systemd:在启动时是创buildnetworking接口设备

我正在尝试为CentOS 7 netboot映像创build自定义networkingpipe理服务。 该服务获取主机上所有接口的列表,find具有物理连接的接口,然后使用它来获取DHCPconfiguration。 问题是要确保它在系统中存在所有networking设备之后启动,因此可以获取它们的列表。 这是我的单元文件: [Unit] Description=Configure networking Wants=network.target After=network-pre.target Before=network.target multi-user.target [Service] ExecStart=/usr/local/bin/netboot-cfg Type=oneshot RemainAfterExit=yes [Install] WantedBy=multi-user.target 正如您所看到的,它在network-pre目标之后, network目标之前运行。 我用systemd-analyze plot证实了这一点。 但是,在启动过程中,无法在系统中find任何接口。 该列表是通过查看/sys/class/net目录创build的。 sys-subsystem-net-devices-<iface>.device单元稍后启动,我猜测它是填充该目录的。 networking设备单元在network.target之后启动似乎很奇怪。 所以问题是:如何使用systemd单元文件语法可靠地确定所有接口何时可用?

Linux服务器有时不会回答TCP连接或者延迟

我有Linux服务器(Ubuntu 16.04),其中每个服务器似乎都很好,除了它有时候非常慢地(例如,10-20秒)回答TCP连接或根本不回答。 服务器没有负载,这发生在所有的TCP服务(HTTP,SMTP,VOIP)上。 大多数连接的回答都很快,而且在发生这种减速的时候,似乎是随机的。 我的猜测是,这是在networking堆栈。 任何想法如何debugging呢? 我做了2个TCP转储。 不工作: 15:10:07.281993 IP p4FC4B365.dip0.t-ipconnect.de.3237 > hetzner3.1740: Flags [S], seq 3664811831, win 8192, options [mss 1452,nop,wscale 8,nop,nop,sackOK], length 0 15:10:10.281742 IP p4FC4B365.dip0.t-ipconnect.de.3237 > hetzner3.1740: Flags [S], seq 3664811831, win 8192, options [mss 1452,nop,wscale 8,nop,nop,sackOK], length 0 15:10:16.282033 IP p4FC4B365.dip0.t-ipconnect.de.3237 > hetzner3.1740: Flags [S], seq 3664811831, win 8192, options [mss […]

与多个桥梁的Xen

我有以下设置的一些问题: Debian Stretch(冻结testing)作为dom0。 我configuration了thre桥(xenbr0,xenbr1,xenbr2)/ etc / network / interfaces看起来像这样: auto xenbr0 allow-hotplug xenbr0 iface xenbr0 inet static bridge_ports eth0 address $Host_Ip broadcast $Broadcast netmask 255.255.255.0 gateway $Gateway bridge_stp off bridge_waitport 0 bridge_fd 0 auto xenbr1 allow-hotplug xenbr1 iface xenbr1 inet manual pre-up brctl addbr $IFACE up ip link set $IFACE up post-down brctl delbr $IFACE […]

FirewallD信任区域和阻止IP

所以我会尽量不去详细说明,但是我不得不使用firewalld中的“trusted”区域(dev一直抱怨它的firewalld阻止了他们的软件,并且希望我closures防火墙)。 我想阻止信任区域中的单个IP(网关)。 我已经完成了:将networking添加到可信区域 将子网添加到受信任的区域 sudo firewall-cmd –zone=trusted –permanent –add-source=192.168.0.0/16 阻止IP sudo firewall-cmd –zone=trusted –add-rich-rule 'rule family="ipv4" source address=192.168.0.1 reject' sudo firewall-cmd –zone=trusted –add-rich-rule 'rule family="ipv4" source address=192.168.0.1 drop' 无处不在,因为还在工作 sudo firewall-cmd –add-rich-rule 'rule family="ipv4" source address=192.168.0.1 reject' sudo firewall-cmd –add-rich-rule 'rule family="ipv4" source address=192.168.0.1 drop' 使默认区域下降 sudo firewall-cmd –set-default=drop 重装 sudo firewall-cmd –reload 并确保它在那里 sudo […]

远程信息处理单元上的接入点:Android设备无法连接

我正在使用一些Sitec S4远程信息处理单元来收集公路车辆中的传感器数据用于科学目的。 一个基于yocto的Linux发行版被安装在它们上面。 为了从笔记本电脑或平板电脑轻松pipe理它,我已经build立了一个hostapd和udhcpd的无线接入点。 我所testing过的所有客户端(Windows 7的笔记本电脑,Android 6的平板电脑,Android 7的智能手机)都可以连接到无线networking,通过DHCP接收IP地址,并可以从S4中ping通。 从Windows到S4的Cygwin SSH连接也是可能的。 问题是Android设备既不能ping通S4(所有数据包都不会丢失错误信息),也不能通过SSH连接到它。 # /etc/network/interfaces — configuration file for ifup(8), ifdown(8) # The loopback interface auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.1.190 netmask 255.255.255.0 gateway 192.168.1.1 # The WiFi device auto mlan0 iface mlan0 inet static address 192.168.190.1 netmask 255.255.255.0 […]

KVM网桥debian OVH / SYS

已经从计划build立几个KVM客人的SoYouStart(便宜的OVH)获得一台服务器。 安装了Debian Jessie和所需的软件包qemu-kvm libvirt-bin virtinst 。 从SYS获得额外的IP,现在是有趣的部分。 使用Xen术语,IP是: DomU:94.xx.xx.20 Dom0:145.xx.xx.35 Dom1:188.xx.xx.47 SYSbuild议额外的IPconfiguration为IP别名(并在他们的控制面板希望虚拟Mac地址分配给这些)。 原始的/etc/network/interfaces auto eth0 iface eth0 inet static address 94.xx.xx.20 netmask 255.255.255.0 broadcast 94.xx.xx.255 gateway 94.xx.xx.254 将条目添加到/etc/network/interfaces auto eth0:0 iface eth0:0 inet static address 145.xx.xx.35 netmask 255.255.255.255 post-up /sbin/ifconfig eth0:0 145.xx.xx.35 netmask 255.255.255.255 broadcast 145.xx.xx.35 pre-down /sbin/ifconfig eth0:0 down 按预期分配。 (如果SYS面板中没有configurationMAC,则可以ping通,否则不可以)。 使用build议的iproute2: ip link […]

自定义链接Iptables和预定义

你好我不知道自定义链如何在iptables中工作。 我发现有趣的规则,自定义链。 iptables -t nat -N CUSTOMCHAIN iptables -t nat -A CUSTOMCHAIN -d 127.0.0.0/8 -j RETURN iptables -t nat -A CUSTOMCHAIN -p tcp -j REDIRECT –to-ports 80 这些规则有很多问题 在第一条规则中,我们在nat table中创build一个自定义链,但是在哪个链中? 有多个NAT表,哪一个使用? 如果数据包进入了CUSTOMCHAIN,但目的地址是localhost,那么只需将其返回到正常stream程,对不对? 所有tcp的其他TCP数据包应该被redirect到端口80.但是数据包如何进入我们的CUSTOMCHAIN,什么时候被redirect到我们的定制链? 有人可以解释这些规则,并回答我的问题,我会感激任何帮助。 谢谢

允许单个以太网端口上的ssh访问

我是那个问复杂问题的人,没有看到简单的答案。 为了快速解释,我有一堆服务器(在debian 9上),有2个物理networking接口,一个前端(用于应用程序)和一个后端(用于pipe理目的)。 因为我想locking一切,我决定拒绝ssh从前端界面访问服务器,而对于“其他”的原因,不能只是阻止端口22.复杂的部分是,我不能只是把ip地址在sshd config(ListenAddress)中的服务器后端networking,因为ip是dynamic的。 我没有在网上find任何东西只是说ssh“只使用该接口”,所以现在我做了一个脏的修复sshd服务的systemd启动,看起来像这样: [Unit] Description=OpenBSD Secure Shell server After=network.target auditd.service ConditionPathExists=!/etc/ssh/sshd_not_to_be_run [Service] EnvironmentFile=-/etc/default/ssh ExecStartPre=AdmNetIp=$(echo `ifconfig eth1 2>/dev/null|awk '/inet / {print $2}'`); sed -i "s/\(^#\)\{0,1\}ListenAddress .*/ListenAddress $AdmNetIp/" /etc/ssh/sshd_config ExecStart=/usr/sbin/sshd -D $SSHD_OPTS ExecReload=/bin/kill -HUP $MAINPID KillMode=process Restart=on-failure RestartPreventExitStatus=255 Type=notify [Install] WantedBy=multi-user.target Alias=sshd.service ExecStartPre的重要组成部分。 它基本上用sshd启动之前的eth1接口的实际ipreplacesshd config中的ip。 我真的不喜欢那个,想知道是否有一个“更清洁”的方式。 我什么都不知道,用我的玩具来操作,所以如果这很愚蠢的话,我很抱歉失去了时间。 我更像是一个pipe理员,也是一个法国人,对于你stream血的眼睛感到抱歉。 谢谢阅读 !

将FreeNAS(FreeBSD)locking为一个IP地址

我想在互联网上托pipe一个FreeNAS服务器( Server B )来进行远程ZFS复制。 Server A是办公室中的一台FreeNAS服务器,在防火墙后面有一个专用的IP,将发送ZFS数据给Server B 我意识到有很多方法来lockingServer B但我必须决定保持尽可能简单。 我的目标是只允许Server Bstream量来自Server A的IP地址。 我不想locking特定的端口,我只想忽略/丢弃所有不源于Server A的IP地址的stream量。 同样,我想允许来自Server A的IP地址的所有stream量。 由于我不知道FreeNAS将来会使用哪些端口,所以我想避免挑选点来防止维护噩梦。 我大概知道3或4个Unix命令,所以我远离专家。 有谁知道我需要运行的命令将我的FreeNAS服务器locking到一个IP?

Linux服务器上的Intel网卡 – 尽pipe绑定端口,但性能有限

我接pipe了一台带有英特尔网卡的Debian 7服务器,其中的端口连接在一起进行负载均衡。 这是硬件: lspci -vvv | egrep -i 'network|ethernet' 04:00.0 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01) 04:00.1 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01) 07:00.0 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01) 07:00.1 Ethernet controller: Intel Corporation 82576 Gigabit Network Connection (rev 01) 首先,让我感到困惑的是显示了四个入口,并且系统显示了eth0-eth3(四个端口),即使NIC在规格中只有两个端口。 然而,只有eth2和eth3实际上是起作用的,因此有两个端口: […]