使用 DHCP 的 ISP 提供的多个 IP。 (OpenWRT 或 iproute2,macvlan???)

Multiple IPs from ISP with DHCP. (OpenWRT or iproute2, macvlan???)

问题:我想要 2 个 IP,这样我就可以 运行 我的 LAN 上有两台服务器。显然我的 ISP 不允许静态 IP,我需要使用 DHCP 来获取我的第二个 IP。

到目前为止我学到了什么:

  1. 为了通过 DHCP 获得两个不同的 IP 地址,您需要两个不同的 MAC(或客户端 ID?)
  2. 您不能在一个接口上有两个 MAC,因此您需要将面向互联网的接口置于混杂模式,并以某种方式将该流量传输到具有自己的虚拟接口 MAC.
  3. 一旦流量到达我的虚拟接口,我就可以将其分配到 WAN 防火墙区域(OpenWRT thingie,不那么重要)以获得 ez 利润。

但这是困难的部分:为了将我的 LAN 与 WAN 分开,默认情况下在 OpenWRT 中配置了两个不同的 VLAN。 LAN VLAN 是 eth0.1,WAN VLAN 是 eth 0.2。

最后一个问题是:如何配置我的系统?我是将 eth0 放入 promisc 还是 eth0.2 或两者?还是我的前提完全错误?如何创建所述虚拟接口?下面是我的 ip 地址提取。

root@TopLevelRouter:~# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP qlen 1000
    link/ether [REDACTED] brd ff:ff:ff:ff:ff:ff
    inet6 [REDACTED]/64 scope link
       valid_lft forever preferred_lft forever
9: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether [REDACTED] brd ff:ff:ff:ff:ff:ff
    inet6 [REDACTED]/64 scope link
       valid_lft forever preferred_lft forever
10: wlan1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether [REDACTED] brd ff:ff:ff:ff:ff:ff
    inet6 [REDACTED]/64 scope link
       valid_lft forever preferred_lft forever
16: eth0.1@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether [REDACTED] brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.1/24 brd 192.168.1.255 scope global eth0.1
       valid_lft forever preferred_lft forever
    inet6 [REDACTED]/60 scope global noprefixroute
       valid_lft forever preferred_lft forever
    inet6 [REDACTED]/64 scope link
       valid_lft forever preferred_lft forever
17: eth0.2@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
    link/ether [REDACTED] brd ff:ff:ff:ff:ff:ff
    inet [external IP 1]/24 brd [redacted].255 scope global eth0.2
       valid_lft forever preferred_lft forever
    inet6 [REDACTED]/64 scope link
       valid_lft forever preferred_lft forever

终于解决了

Full solution in my blog

And a web archive link in case my blog doesn't exist when you read this