使用 ifconfig 我们可以使用以下内容更改网络掩码:
ifconfig eth0 netmask <new netmask>
Run Code Online (Sandbox Code Playgroud)
我们如何使用命令 ip 来做到这一点?
我知道 ifconfig 已被弃用,这主要是为什么我想以 iproute2 方式进行操作。
我的目标是将我们当前的网络从 /24 即时扩展到 /21,而不会干扰我们服务器上运行的服务。作为目前的解决方法,我只是向 /21 添加一条新路由,最终计划的网络重启将使更改正式化。它有效,但我想知道是否有更好的方法。
谢谢,
我有两台机器。一个运行arch linux,另一个运行fedora。arch 使用 iproute2。所以我需要从路由转换为 iproute2。此命令会将默认接口设置为 ppp0。
我已经搜索了文档,但我仍然没有任何线索。
如何在 iproute2 中做到这一点
route add default ppp0
Run Code Online (Sandbox Code Playgroud) 我有一台 Centos 服务器在我的网络中充当 NAT。该服务器有一个外部(后来的 ext1)接口和三个内部(后来的 int1、int2 和 int3)接口。出口流量通过 int1 来自用户,在 MASQUERADE 之后通过 ext1。入口流量来自 ext1、MASQUERADE,并根据静态路由通过 int2 或 int3。
| ext1
| x.x.x.x/24
+---------|----------------------+
| |
| Centos server (NAT) |
| |
+---|------|---------------|-----+
| | |
int1 | | int2 | int3
10.30.1.10/24 | | 10.30.2.10/24 | 10.30.3.10/24
^ v v
10.30.1.1/24 | | 10.30.2.1/24 | 10.30.3.1/24
+---|------|---------------|-----+
| | | | |
| | v v |
| ^ -Traffic policer- |
| |_____________ | |
| | |
+------------------|-------------+ …Run Code Online (Sandbox Code Playgroud) 如何在 Linux 中删除传入的负面 DNS 响应?(我想要超时)我正在考虑创建一个 iptables 规则:
iptables -I INPUT -p udp --sport 53 -m u32 ...
Run Code Online (Sandbox Code Playgroud)
来自wireshark:
000E start of IP Packet (fixed, at first, I wrote 0010)
0022 start of UDP Packet
002A start of DNS message
002C Flags
.... .... .... 0000 = Reply code: No error (0)
.... .... .... 0011 = Reply code: No such name (3)
Run Code Online (Sandbox Code Playgroud)
我认为 -m u32 的偏移量是从 ip 标头计算的。还减去 2 得到 32 位。
$ echo $(( 0x002C - 0x000E - 2 …Run Code Online (Sandbox Code Playgroud) 基本上标题说明了一切,相当于
ip rule add from 10.10.0.10/32 table 2
ip rule add to 10.10.0.10/32 table 2
Run Code Online (Sandbox Code Playgroud)
在 systemd-networkd 中?
我试图设置类似
[Route]
Destination 10.10.0.10/32
Table=2
Run Code Online (Sandbox Code Playgroud)
但这并不能解决问题,联机帮助页没有提及这方面的任何内容。
我正在尝试了解 linux 桥接和本地 ip 规则,
我的 linux 笔记本电脑上有以下拓扑。
br0
___________|__________
| |
|tap0 tap1|
|________Application_______|
Run Code Online (Sandbox Code Playgroud)
上面的应用程序正在创建 2 个 tap 接口 tap0 和 tap1
我创建了桥接器并将抽头接口插入桥接器:
brctl addif br0 tap0
brctl addif br0 tap1
Run Code Online (Sandbox Code Playgroud)
为了 ping 工作,我需要向接口添加 ip 地址,所以我添加192.168.13.1 to tap0和192.168.13.2 to tap1
对于这两个接口,应用程序从一个接口读取并写入另一个接口。
现在,如果我运行“ping 192.168.13.2 -I tap0”
PING 192.168.13.2 (192.168.13.2) from 192.168.13.1 tap0: 56(84) bytes of data.
From 192.168.13.1 icmp_seq=1 Destination Host Unreachable
Run Code Online (Sandbox Code Playgroud)
tcpdump 显示 arp 无法解析,所以我添加了静态 ARP 条目:
arp -i tap0 -s 192.168.13.1 62:34:58:e7:8a:3a
arp -i tap1 …Run Code Online (Sandbox Code Playgroud) Linux 支持多个以太网网络接口的绑定,以实现额外的可靠性或负载平衡。
绑定驱动程序过去是通过命令配置的,该命令已被弃用(由iproute2工具包中的命令ifenslave取代),因此已从内核源代码中删除。ipifenslave
已弃用命令的一个特殊功能(我找不到现代等效命令)是更改绑定接口的活动从属设备(假设绑定接口在该模式下运行active-backup)。
例如,以下命令将eth0网卡设置为bond0接口的活动从属:
ifenslave -c bond0 eth0
ifenslave --change-active bond0 eth0
Run Code Online (Sandbox Code Playgroud)
有没有办法使用iproute2ip工具包中的命令或通过 sysfs 更改 Linux 绑定接口的活动从属设备?
哪个更适合连接两台Linux机器?
我有三台服务器,目前有 ips 192.168.1.1、192.168.1.2 和 192.168.1.3。他们可以看到对方并互相交谈。我想在 192.168.1.x 之上创建第二个子网,即 10.170.xx
我可以为三台服务器 10.170.0.1、10.170.0.2 和 10.170.0.3 中的每台分配 ips,使用ip addr add 10.170.0.1 dev eth0. 我遇到的问题是如何进行路由。我无法通过 10.170.xx 网络 ping 任何服务器。我相信我需要创建一些点对点桥梁,但我不知道如何开始。有任何想法吗?
我有一个这样设置的界面
ip addr add 192.168.1.1/24 dev eth0
ip addr add 192.168.1.2/24 dev eth0
ip addr add 192.168.1.3/24 dev eth0
Run Code Online (Sandbox Code Playgroud)
等等。
有没有一种简单的方法可以删除我添加的所有 IP 而不做
ip addr del 192.168.1.1/24 dev eth0
ip addr del 192.168.1.2/24 dev eth0
ip addr del 192.168.1.3/24 dev eth0
Run Code Online (Sandbox Code Playgroud)
或做类似的事情
ips=`ip addr show dev eth0 | grep -oe '192\.168\1\.[0-2][0-9]{1,2}'`
for ii in $ips; do
ip addr del $ii dev eth0
done
Run Code Online (Sandbox Code Playgroud)
必须有一种更优雅的方式来做到这一点。
我想保存所有路由表的所有路由。
我有这个脚本:
#!/bin/bash
DUMP=dump.log
for i in `seq 0 255`;
do
routes="`ip route show table ${i}`"
if [ ! -z "${routes}" ];then
echo "table: ${i}" >> ${DUMP}
echo "${routes}" >> ${DUMP}
echo "" >> ${DUMP}
fi
done
Run Code Online (Sandbox Code Playgroud)
我对这个脚本的问题是:
谢谢