页次: 1
最后发现是由于 虚拟机环境 运行,所造成的问题
2022.10.10
---
## 环境
OpenWRT 路由器(192.168.168.4)
添加了 10.24.0.0/24 网段的静态路由, 由局域网内 ip 地址为 192.168.168.4 的主机作跳板
```
ip route add 10.24.0.0/24 via 192.168.168.4
```
至此局域网内的设备都可以直接访问 10.24.0.0/24 网段
## 正常通信的设备
```
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.168.1 0.0.0.0 UG 0 0 0 eth0
192.168.168.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
# traceroute 10.24.0.5
traceroute to 10.24.0.5 (10.24.0.5), 30 hops max, 46 byte packets
1 192.168.168.1 (192.168.168.1) 0.327 ms 0.216 ms 0.260 ms
2 192.168.168.4 (192.168.168.4) 0.324 ms 0.357 ms 0.310 ms
3 10.24.0.5 (10.24.0.5) 27.103 ms 29.186 ms 28.411 ms
```
## ArchLinux 主机
```
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.168.1 0.0.0.0 UG 1024 0 0 eth0
192.168.168.0 0.0.0.0 255.255.255.0 U 1024 0 0 eth0
192.168.168.1 0.0.0.0 255.255.255.255 UH 1024 0 0 eth0
# traceroute 10.24.0.5
traceroute to 10.24.0.5 (10.24.0.5), 30 hops max, 60 byte packets
1 360v6.lan (192.168.168.1) 0.351 ms 0.319 ms 0.326 ms
2 * * *
3 * * *
4 * * *
```
---
是什么原因造成这情况?
最近编辑记录 fejich (2022-10-10 21:03:40)
ArchLinux 萌新
离线
你反向 traceroute 看看,是不是 192.168.168.4 直接把回复包发给你了?
另外 route 命令过时了,请使用 ip r 替代。
离线
你反向 traceroute 看看,是不是 192.168.168.4 直接把回复包发给你了?
另外 route 命令过时了,请使用 ip r 替代。
感谢回复,请问 反向 traceroute 具体要怎么操作?
## ArchLinux 主机
```
# ip r
default via 192.168.168.1 dev eth0 proto dhcp src 192.168.168.238 metric 1024
192.168.168.0/24 dev eth0 proto kernel scope link src 192.168.168.238 metric 1024
192.168.168.1 dev eth0 proto dhcp scope link src 192.168.168.238 metric 1024
```
ArchLinux 萌新
离线
就是去 10.24.0.5 上 traceroute 你遇到问题的机器。
另外你可以直接先 sysctl net.ipv4.conf.all.rp_filter=2 试试
离线
就是去 10.24.0.5 上 traceroute 你遇到问题的机器。
另外你可以直接先 sysctl net.ipv4.conf.all.rp_filter=2 试试
ArchLinux 运行完 `sysctl net.ipv4.conf.all.rp_filter=2` 后,情况依旧无法通信
10.24.0.5 主机反向 traceroute 正常连通
```
# ip r
default via 192.168.2.1 dev eth0 onlink
10.24.0.1 dev wg0 scope link
192.168.2.0/24 dev eth0 proto kernel scope link src 192.168.2.222
192.168.168.0/24 dev wg0 scope link
# traceroute 192.168.168.238
traceroute to 192.168.168.238 (192.168.168.238), 30 hops max, 60 byte packets
1 10.24.0.1 (10.24.0.1) 28.650 ms 28.216 ms 28.096 ms
2 192.168.168.238 (192.168.168.238) 27.864 ms 27.604 ms 27.412 ms
```
ArchLinux 萌新
离线
果然不对称。但是设置 rp_filter=2 也不通就奇怪了,要不你试试 0?记得把 all 同级的接口名和 default 下的值也改了。
另外可以考虑各处抓包看看(用 tcpdump)。
离线
果然不对称。但是设置 rp_filter=2 也不通就奇怪了,要不你试试 0?记得把 all 同级的接口名和 default 下的值也改了。
另外可以考虑各处抓包看看(用 tcpdump)。
```
# sysctl -p
vm.swappiness = 100
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr
net.ipv4.ip_forward = 1
net.ipv4.conf.all.rp_filter = 0
net.ipv4.conf.default.rp_filter = 0
```
问题依旧,放弃了。
我猜可能是跟我用虚拟机镜像有关
官网 VM images,Arch-Linux-x86_64-basic-20221009.92908.qcow2
```
# neofetch
root@archlinux
--------------
OS: Arch Linux x86_64
Host: KVM/QEMU (Standard PC (Q35 + ICH9, 2009) pc-q35-4.2)
Kernel: 5.19.13-arch1-1
Uptime: 3 mins
Packages: 184 (pacman)
Shell: zsh 5.9
Resolution: 1024x768
CPU: Intel i3-6100 (4) @ 3.696GHz
GPU: 00:01.0 Red Hat, Inc. QXL paravirtual graphic card
Memory: 128MiB / 969MiB
```
---
最后用笔记本电脑实机安装了 Arch Linux,默认设置下网络就通
ArchLinux 萌新
离线
原来是虚拟机啊,怎么不早说呢……
离线
原来是虚拟机啊,怎么不早说呢……
抱歉,我的错。
日常我折腾系统都跑在虚拟机里边,还是头一次碰到现在这个情况
再次感谢你的耐心解答
ArchLinux 萌新
离线
虚拟机要看它的网络是怎么设置和处理的,会多一层要考虑。
离线
页次: 1