sou*_*ics 6 networking linux virtualization dhcp ubuntu
我在 ubuntu 16.04 上使用 4.4 内核。我正在尝试查看如何启动 macvlan 界面,但还没有成功。这些是我用来创建和启动界面的步骤。
ip link add mymacvlan1 link wlan0 type macvlan mode bridgeifconfig mymacvlan1 192.168.1.56 uproute add default gw 192.168.1.1 mymacvlan1当我输入第三个命令时,我的 wifi 连接断开了。我不确定发生了什么。同样在步骤(1)之后,如果我只是做ifconfig mymacvlan1 up然后做dhclient mymacvlan1,它就会在那里冻结。如何让macvlan接口自动从DHCP获取IP?
任何帮助表示赞赏!谢谢!
Mar*_*iae 12
Macvlan 不是为在无线接口上工作而构建的。原因是所有 AP 都将拒绝源自未与它们进行身份验证的 MAC 地址的帧,而 macvlans 的全部目的正是为新的子接口提供自己的 MAC 地址,不同于物理接口的 MAC 地址。因此,毫不奇怪,当您尝试在 macvlan 接口上启用默认网关时,它会自动拆除 wlan0 接口上的原始网关(请记住规则:)one default gateway per routing table only,您将无法连接。
为了规避这个问题,您应该改用ipvlan,它使用物理接口的 mac 地址。在这里,您将找到有关如何设置它的详细示例,我敢打赌这个示例非常适合您。
您按如下方式使用它,假设您的 wifi 接口称为wlan0:
ip link add link wlan0 ipvl0 type ipvlan mode l2
ip link set dev ipvl0 up
ip addr add 192.168.73.201/24 dev ipvl0
Run Code Online (Sandbox Code Playgroud)
(我的 LAN 是 192.168.73.0/24,根据需要进行更改以适应您的情况)并且您还可以更改默认网关以在新的虚拟接口上访问,而不是旧的物理接口:
ip route del default
ip route add default via 192.168.73.1 dev ipvl0 src 192.168.73.201 metric 1
Run Code Online (Sandbox Code Playgroud)
唯一值得一提的是我用的是L2模式:ipvlans有3种操作模式,L2,L3,L3S(别说一般说有两种模式,还有L3S,和L3类似但是允许操作的iptables的/跟踪连接)。L2 和 L3 之间的区别在于 L2 允许虚拟接口与物理接口桥接,这意味着它可以在与物理接口相同的子网中拥有一个地址,并且L2 流量可以正确中继。L3 模式而不是中继 L2 流量,并且需要配置为 IPv4 路由器:不同的子网,需要设置路由等。大多数情况下,麻烦多于价值。
顺便说一句,拥有底层无线接口只是ipvlans而不是macvlans的唯一合理用例。在所有其他情况下,只需坚持macvlans。
| 归档时间: |
|
| 查看次数: |
9570 次 |
| 最近记录: |