You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何强制rsync使用指定的网络接口?

如何强制rsync使用指定的网络接口?

嗨,我太懂WiFi传大文件的慢劲儿了!给你几个实用的方法,帮你强制rsync用上以太网接口:

方法1:绑定本地IP指定接口

rsync本身没有直接选接口的参数,但每个网络接口都对应独立的IP地址,我们可以用--address参数绑定以太网接口的IP,这样rsync就会强制从这个IP发送数据,也就是用对应的以太网接口了。

  • 先查以太网接口(比如eth0)的IP:
    ip addr show eth0
    
    找到输出里的inet字段,比如192.168.1.100/24,取前面的192.168.1.100就行。
  • 然后给rsync命令加上--address参数:
    rsync --address=192.168.1.100 -avz /你的本地源路径 user@目标PC的IP:/目标路径
    
    这样rsync的流量就会乖乖走以太网接口啦。

方法2:临时添加路由规则

如果不想改rsync命令,咱们可以给目标PC的IP加一条专属路由,让到它的流量强制走以太网接口。

  • 假设目标PC的IP是192.168.1.101,以太网接口是eth0,执行这条命令加路由:
    sudo ip route add 192.168.1.101/32 dev eth0
    
  • 现在正常运行你的rsync命令就行,流量会自动走以太网。
  • 传完文件后,记得删掉这条临时路由:
    sudo ip route del 192.168.1.101/32
    

方法3:用Docker做网络隔离

你提到的命名空间/容器方法确实靠谱,咱们可以用Docker的macvlan网络让容器直接用以太网接口,彻底隔离WiFi和以太网的流量。

  • 先创建一个绑定以太网接口的macvlan网络(替换成你自己的子网、网关和接口名):
    sudo docker network create --driver macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=eth0 eth-network
    
  • 然后运行一个带rsync的容器,挂载本地源目录,指定用刚才的网络:
    sudo docker run -it --rm --network eth-network -v /你的本地源路径:/source alpine rsync -avz /source user@目标PC的IP:/目标路径
    
    容器里的rsync会完全通过以太网传输,不会占用WiFi的带宽。

备注:内容来源于stack exchange,提问作者Jeenu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.17 10:59:36