AJN*_*AJN 25 networking linux ubuntu network-interface
某些任务需要配置Tap 接口+ 分配所有权。所以,我是手动操作的:
sudo tuntap -u <username>
sudo ifconfig tap0 up
sudo ip a a 192.168.1.1/24 dev tap0
Run Code Online (Sandbox Code Playgroud)
或使用
ip tuntap add dev tap0 mode tap user <username>
Run Code Online (Sandbox Code Playgroud)
如何在重新启动后使 Tap 接口配置持久化而不将这些命令添加到 shell 脚本并添加到启动
我的想法是通过/etc/network/interfaces 进行操作,如下所示:
iface tap1 inet static
address 192.168.1.121
netmask 255.255.255.0
pre-up /usr/sbin/tunctl -u ajn -t tap1
Run Code Online (Sandbox Code Playgroud)
但由于某种原因,它不起作用。
有任何想法吗?
Mar*_*iae 21
对于我的一生,我看不出为什么这个问题应该被否决。很清楚,正确,它有一个明确的答案。我已经投了赞成票。
您正在使用过时的实用程序,例如 tunctl,您应该改用ip。/etc/network/interfaces的正确节是:
iface tap1 inet manual
pre-up ip tuntap add tap1 mode tap user root
pre-up ip addr add 192.168.1.121/24 dev tap1
up ip link set dev tap1 up
post-up ip route del 192.168.1.0/24 dev tap1
post-up ip route add 192.168.1.121/32 dev tap1
post-down ip link del dev tap1
Run Code Online (Sandbox Code Playgroud)
您的错误在于使用static而不是manual。原因是,由于您尝试为虚拟接口提供与主接口 (wlan0/eth0) 位于同一子网中的地址,因此当它尝试自动添加本地路由时,
ip route add 192.168.1.0/24 dev tap1
Run Code Online (Sandbox Code Playgroud)
它发现这样的路线已经存在,它会抱怨。如果使用手动代替静态,则允许删除此路由,这当然没有用。
另外,您应该添加一条路线
ip route add 192.168.1.121/32 dev tap1
Run Code Online (Sandbox Code Playgroud)
通知您的内核路由有异常
ip route add 192.168.1.0/24 dev eth0/wlan0
Run Code Online (Sandbox Code Playgroud)
就这样。
| 归档时间: |
|
| 查看次数: |
34467 次 |
| 最近记录: |