openwrt 适合作为路由器系统使用,我们的路由器上一般会有多个网卡接口可供使用,其中一个作为 wan 口来连接外网,其他的可以作为 lan 口连接本地设备。

在默认的 network 配置文件中 lan 内只绑定了一个网卡,也就是只有一个接口可以连接到 lan 网络,下面介绍如何配置多个网卡通过桥接的方式共享 lan 网络。这样可以实现无论将设备接入哪一个网卡都可以连接到同一个 lan。

下面是一个默认的 /etc/config/network 文件内容:

"/etc/config/network"

config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fd6e:929e:e9ab::/48'

config interface 'lan'
        option ifname 'eth0'
        option proto 'static'
        option ipaddr '192.168.85.1'
        option netmask '255.255.255.0'
        option ip6assign '60'
        option gateway '27.168.1.1'

config interface 'wan'
        option ifname 'eth1'
        option proto 'dhcp'

config interface 'wan6'
        option ifname 'eth1'
        option proto 'dhcpv6'

可以看到默认配置了 lan 和 wan 网络,各自分配了一个网卡 eth0 和 eth1,其中 eth0 属于 lan 网络且设置了 static 静态地址,作为内网的网关,注意 lan 的 downlink 下级链接会自动开启 dhcp 服务,所以通过 eth0 连接的设备可以自动获取到地址。eth1 属于 wan 网络且配置为 dhcp 自动获取 ip 地址,作为连接外网使用。

以上默认的 network 配置包含了 global 配置块和 loopbacklanwan interface 的配置块。这也是最基本的需要配置的网络设置。

关于 network 配置文件的结构参考:Network basics /etc/config/network

interfaces 配置块定义了对应 interface 具体连接的物理网卡名称和协议类型,通过 option 来定义这个 interface 具体参数。

一个最基本的 interface 配置项需要包含 proto 协议类型ifname 网卡名称,例如:

config 'interface' 'wan'
        option 'proto' 'dhcp'
        option 'ifname' 'eth0.2'
  • wan 表示这个 interface 名称
  • dhcp 表示协议类型
  • eth0.2 表示绑定的物理网卡名称

常用的 proto 协议类型有:

static    Static configuration with fixed address and netmask    ip/ifconfig
dhcp    Address and netmask are assigned by DHCP    udhcpc (Busybox)
dhcpv6    Address and netmask are assigned by DHCPv6    odhcpc6c
ppp    PPP protocol - dialup modem connections    pppd
pppoe    PPP over Ethernet - DSL broadband connection    pppd + plugin rp-pppoe.so
pppoa    PPP over ATM - DSL connection using a builtin modem    pppd + plugin …

更多协议介绍:interface

配置了协议后需要定义详细的 option 选项参数,下面是常用的适用于所有类型协议的 option 可选项:

NameTypeDefault Description
ifname物理网卡名称如eth0 eth1 eth2,当定义 type 为 bridge 桥接时,可以是一个集合
type字符串如果设置为 bridge,会桥接在 ifname 中定义的物理网卡名称集合
stpbooleanOnly valid for type bridge, enables the Spanning Tree Protocol
bridge_emptybooleanOnly valid for type bridge, enables creating empty bridges
igmp_snoopingbooleanOnly valid for type bridge, sets the multicast_snooping kernel setting for a bridge
macaddrmac地址Override MAC address of this interface. Example: 62:11:22:aa:bb:cc
mtunumberOverride the default MTU on this interface

具体到某个 proto 协议会有各自特殊需要定义的 option 参数,下面介绍 static 模式下需要定义的参数:

名称类型描述
ipaddrip addressIP address
netmasknetmask子网掩码
gatewayip addressDefault gateway
broadcastip addressBroadcast address (autogenerated if not set)
dnslist of ip addressesDNS server(s)
dns_searchlist of domain namesSearch list for host-name lookup
metricintegerSpecifies the default route metric to use

关于 proto 协议的配置项参考:openwrt IPv4

示例

下面通过示例来介绍一些典型配置模式。

lan 网络的 Downstream 下层流量配置:

config interface 'lan'
        option ifname 'eth1'
        option proto 'static'
        option ipaddr '192.168.85.1'
        option netmask '255.255.255.0'
        option ip6assign '60'
        option gateway '27.168.1.1'

lan 网络的下层链接会自动启用 dhcp 服务。

lan 网络配置多网卡桥接模式:

config interface 'lan'
        option type 'bridge'
        option ifname 'eth1 eth2 eth3'
        option proto 'static'
        option ipaddr '192.168.85.1'
        option netmask '255.255.255.0'
        option ip6assign '60'
        option gateway '27.168.1.1'
        option dns '1.1.1.1'

多 dns 配置:

config interface 'example'
        option proto     'static'
        option ifname    'eth0'
        option ipaddr    '192.168.1.200'
        option netmask   '255.255.255.0'
        list   dns       '192.168.1.1'
        list   dns       '192.168.10.1'

参考链接

interface
IPv4

标签: none

添加新评论