我正在尝试在 MacOS 上使用tun_tap_mac 板条箱,但在入门时遇到了麻烦。这是我的代码:
fn main() -> io::Result<()> {
let nic = tun_tap_mac::Iface::new("tun0", tun_tap_mac::Mode::Tun)
.expect("Failed to create TUN device");
let mut buf = vec![0u8; 1504];
let nbytes = nic.recv(&mut buf[..])?;
println!("read {:?} bytes: {:?}", nbytes, &buf[..nbytes]);
Ok(())
}
我收到了这个错误:
thread 'main' panicked at 'Failed to create TUN device: Os { code: 2, kind: NotFound, message: "No such file or directory" }', src/main.rs:5:10
我尝试使用 sudo 进行构建,但遇到了同样的问题。MacOS 没有setcap
-like 功能,文档似乎很稀疏。看起来这个板条箱是从原始 tun_tap 分叉来支持 Mac 的,但我真的找不到任何其他帮助。有什么建议吗?