本帖最后由 sunsili 于 2023-7-28 12:06 编辑
Linux下网络配置
参考
网络配置文件位于/etc/config/network/(openwrt为例) 。此配置文件负责定义交换机 VLAN、接口配置和网络路由。编辑并保存后,您需要执行 ./etc/init.d/network reload
以在任何更改生效之前停止并重新启动网络。无需重新启动路由器。
请随时了解 netifd( Network Interface Daemon 网络接口守护程序)。
Sections以下是可能在网络配置中定义的部分类型的概述。 路由器的最小网络配置通常由至少两个接口(和)和一个交换机部分(如果适用)组成。lan wan
全局设置
全局部分在屏障破坏者和更高版本中可用。 该部分包含影响网络配置的独立于接口的选项。 globals
Switch 交换机该部分负责将交换机分区为多个VLAN,这些VLAN在系统中显示为独立接口,尽管它们共享相同的硬件。并非每个 OpenWrt 支持的设备(或体系结构,如 x86)都有可编程开关,因此本节可能不在某些平台上出现。另请注意,某些交换机仅支持 4 位 VLAN。switch 目前有两种不同的配置格式在使用中,一种用于旧版 API,另一种用于基于较新的交换机配置。/proc/switch/ swconfig
/proc/swtich
这种变体实际上只在像WRT54GL这样的Broadcom设备上找到。 它的典型配置如下所示: config 'switch' 'eth0'
option 'vlan0' '0 1 2 3 5*'
option 'vlan1' '4 5'
标识符指定该部分所属的交换机。 VLAN 由作为 VLAN 编号的选项定义。 有关详细信息,请参阅 交换机文档。eth0vlan##
swconfigswconfig 的配置结构略有不同,每个 VLAN 有一个额外的部分。 以下示例显示了一个典型配置: config 'switch' 'eth0'
option 'reset' '1'
option 'enable_vlan' '1'config 'switch_vlan' 'eth0_1'
option 'device' 'eth0'
option 'vlan' '1'
option 'ports' '0 1 2 3 5t'
config 'switch_vlan' 'eth0_2'
option 'device' 'eth0'
option 'vlan' '2'
option 'ports' '4 5t'
公共属性在部分中定义;VLAN 特定属性位于通过选项链接到该部分的其他部分中。 交换机文档中介绍了完整的布局。switchswitch_vlanswitchdevice
interface
该类型的部分声明逻辑网络,用作IP地址设置, 别名, 路由,物理接口名称和 防火墙规则的容器 - 它们在OpenWrt配置概念中起着核心作用。interface 最小接口声明由以下行组成:
config 'interface' 'wan'
option 'proto' 'dhcp'
option 'ifname' 'eth0.1'
- wan是唯一的逻辑接口名称
- dhcp指定接口协议,在本例中为 DHCP
- eth0.1是与此部分关联的物理接口
系统将物理接口名称长度限制为 15 个字符,包括为某些协议(例如“6in4-”、“pppoa-”、“pppoe-”)或由于网桥状态(“br-”)而自动添加的前缀。因此,根据协议类型,逻辑接口名称可能限制为仅 9 个字符。例如,'abcde67890' 是使用 DHCP 的普通接口的有效接口名称,但对于最终名称为 'pppoe-abcde67890'(即 >15 个字符)的 pppoe 接口则不然。使用太长的名称可能会导致错误,因为网络、防火墙或 dhcp 配置中的某些设置可能会未应用。 接口协议可以是以下协议之一: 协议 | 描述 | 程序 | | | | | | | | | | | | | | | | | ATM 上的 PPP - 使用内置调制解调器的 DSL 连接 | | | CDMA、UMTS 或 GPRS 连接使用 AT 式 3G 调制解调器 | | | | | | | | | | | | | | | | | | IPv6-in-IPv4 隧道,用于隧道代理(如 HE.net) | | | “无所不包”隧道(Anything-in-anything tunnel) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 未指定的协议,因此所有其他接口设置将被忽略(如禁用配置) | |
根据所使用的接口协议,可能需要几个其他选项才能实现完整的接口声明。 下面列出了每个协议的相应选项。如果使用相应的协议,则必须在接口部分中定义在“必需”列中标记为“是”的选项,可以定义标记为“否”的选项,但也可以省略。
在 openwrt 12.09 中,如果接口部分没有定义协议(甚至没有),则其他设置将被完全忽略。结果是,如果接口部分提到物理网络接口(即eth0),即使连接了电缆,该接口也会关闭(使用原型“无”接口)。(可能需要更多测试)none
适用于所有协议类型的选项
名字 | 类型 | 必填 | 默认值 | 描述 | | | | | 要分配给此部分的物理接口名称,接口列表(如果设置了类型桥接)。 (*) 如果只有无线接口引用此网络,或者协议类型为 pptp、pppoa 或 6in4,则此选项可能为空或缺失 | | | | | | | | | | | | | | | | | | | | 仅对类型“bridge”有效,设置桥的multicast_snooping内核设置 | | | | | 仅对类型“网桥”有效,对于网桥上的无线接口,将隔离设置为 1 | | | | | | | | | | | | | | | | | | | | 指定是在此接口上启用 (1) 还是禁用 (0) IPv6(仅限屏障破坏器及更高版本) | | | | | 荒废的:指定是否在此接口上接受 IPv6 路由器通告(在姿态调整 12.09 和更早版本时) | | | | | 荒废的:指定是否在此接口上发送路由器请求(姿态调整 12.09 及更早版本) | | | | | 指定是将 IP 地址、路由和网关(可选)分配给接口,而不管链路是处于活动状态 (“1”) 还是仅在链路变为活动状态 (“0”) 之后;设置为 “1” 时,载波检测事件不会调用热插拔处理程序 | | | | | | | | | | (IPv4) 此接口路由的路由表。例如,当 proto = dhcp 时,dhcp 客户端会将路由添加到该表中 | | | | | (IPv6) 此接口路由的路由表。例如,当 proto = dhcp6 时,dhcp6 客户端会将路由添加到该表中 |
协议“static”
名字 | 类型 | 必填 | 默认值 | 描述 | | | | | IP地址。[公开 12.09]它可以是一个 ipaddr 列表 ,即:将为接口分配多个 ip地址。如果将多个 ipaddr 指定为选项,而不是列表,则仅应用最后一个。 | | | | | | | | | | | | | | | | | | | | 将给定的 IPv6 地址分配给此接口(CIDR 表示法) | | | | | 允许的值:“eui64”、“随机”、固定值,如“::1:2”。
当从委派服务器接收到 IPv6 前缀(如“a:b:c:d::”)时,请使用后缀(如“::1”)形成此接口的 IPv6 地址(“a:b:c:d::1”)。适用于 LAN 中的多个路由器。该选项是在 2015 年 <> 月由 此提交引入 netifd 的。
| | | | | | | | | | | | | | | 提示应委派为十六进制数的 子前缀 ID(仅限屏障破坏器及更高版本) | | | | | 此处路由的 IPv6 前缀,用于其他接口(仅限屏障破坏器及更高版本) | | | | | | | | | | | | | | | | | | | | |
协议“DHCP”
名字 | 类型 | 必填 | 默认值 | 描述 | | | | | 如果设置为 0.0.0.0,则禁止 DHCP 分配的默认网关
(已弃用)
| | | | | 在 DHCP 请求中启用广播标志,这是某些 ISP 所必需的,例如 DOCSIS 3 包机 | | | | | | | | | | | | | | | | | | | | | | | | | 补充 DHCP 分配的 DNS 服务器,或在对等 dns 为 0 时仅使用这些服务器 | | | | | | | | | | | | | | | | | | | | | | | | | 是否请求“无类别路由”选项(DHCP 选项 121) — 自 LEDE r2001 起可用 | | | | | 要从服务器请求的其他 DHCP 选项的空格分隔列表 | | | | | 要发送到服务器的其他 DHCP 选项的空格分隔列表。语法:其中 是整数代码或符号名称,例如 option:valueoptionhostname | | | | | | | | | | | | | | | | | | | | |
注意:要从 dhcp 自动配置 6rd,您需要创建一个接口并将其名称作为“iface6rd”参数。此外,您还需要将其名称添加到 /etc/config/firewall 中的合适防火墙区域。 option auto 0
这些参数部分由 netifd (in ) 处理,部分由 中的 shell 脚本处理。 interface.clib/netifd/proto/dhcp.sh
似乎如果将接口配置为dhcp客户端,至少在OpenWrt 10.03上,dhcp接收的默认路由 将是唯一列出的接口,如果这些接口以“IFNAME”值的形式出现在具有 DHCP 的接口之前,则将删除这些接口定义的其他默认路由/指标。例如: config interface wan
option ifname eth0
option proto static
..other options..
config interface wan2
option ifname eth1
option proto dhcp
..other options..与 dhcp 的接口在后面(因为 eth1 按词典顺序在 eth0 之后) 并将覆盖接口“WAN”设置的默认路由。虽然不是相反的。 如果我们有:wan 和 wan2 设置的两个默认路由都将出现在路由表中。
config interface wan
option ifname eth0
option proto dhcp
..other options..
config interface wan2
option ifname eth1
option proto static
..other options..
协议“dhcpv6”
必须安装软件包才能使用 dhcpv6。odhcp6c 名字 | 类型 | 必填 | 默认值 | 描述 | | | | | | | | | | 请求前缀的行为(数字表示提示的前缀长度)。如果您只想为 AP 本身提供一个 IPv6 地址,而不需要用于路由的子网,请使用“否” | | | | | | | | | | | | | | | 补充 DHCP 分配的 DNS 服务器,或在对等 dns 为 0 时仅使用这些服务器 | | | | | | | | | | | | | | | | | | | | 不允许仅通过 SLAAC (RA) 进行配置(由 reqprefix 暗示 != 否) | | | | | | | | | | 使用(额外的)用户提供的 IPv6 前缀分发到客户端 | | | | | |
注意:要从 dhcpv6 自动配置 ds-lite,您需要创建一个接口并将其名称作为“iface_dslite”参数。此外,您还需要将其名称添加到 /etc/config/firewall 中的合适防火墙区域。 option auto 0
协议“ppp”(调制解调器上的 PPP)
必须安装包才能使用 PPP。 ppp 名字 | 类型 | 必填 | 默认值 | 描述 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 在考虑对等体死亡之前未应答的回显请求数。回显请求之间的间隔为 5 秒。 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
协议“pppoe”(以太网上的 PPP)
软件包 ,并且必须安装才能使用 PPPoE。ppp kmod-pppoeppp-mod-pppoe
opkg updateopkg install ppp kmod-pppoe ppp-mod-pppoe
名字 | 类型 | 必填 | 默认值 | 描述 | | | | | | | | | | | | | | | 指定要连接到的访问集中器。如果未设置,则使用第一个发现的[size=1em]pppd | | | | | 指定要连接到的服务名称,如果未设置,则使用第一个发现的服务名称[size=1em]pppd | | | | | 使用此值填充主机-Uniq 标记,这是某些 ISP 所要求的 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 要传递给 pppd 守护程序的其他命令行参数,例如调试 |
协议“pppoa”(ATM AAL5上的PPP)
必须安装软件包才能使用 PPPoA。 ppp-mod-pppoa 名字 | 类型 | 必填 | 默认值 | 描述 | | | | | | | | | | | | | | | 指定以 0 开头的 ATM 适配器编号。大多数系统只有一个 ATM 设备,不需要此选项 | | | | | PPPoA 封装模式:“llc”(LLC)或“vc”(VC) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
协议“3g”(基于EV-DO,CDMA,UMTS或GPRS的PPP)
comgt 名字 | 类型 | 必填 | 默认值 | 描述 | | | | | | | | | | 3G服务类型:/、//(...._only选项仅限于Novatel&Option卡和加密狗)[size=1em]cdmaevdoumtsumts_onlygprs_only | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
协议“qmi”(使用 QMI 协议的 USB 调制解调器)
必须安装软件包才能使用 QMI。uqmi 名字 | 类型 | 必填 | 默认值 | 描述 | | | | | QMI 设备节点,通常为 /dev/cdc-wdm0 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 允许的网络模式,逗号分隔的列表:全部,LTE,UMTS,gsm,cdma,td-scdma | | | | | 尝试与调制解调器交互之前等待的几秒钟(某些中兴通讯调制解调器最多需要 30 秒。 |
协议“NCM”(使用 NCM 协议的 USB 调制解调器)
必须安装特定于软件包 + 调制解调器的驱动程序才能使用 NCM。comgt-ncm 名字 | 类型 | 必填 | 默认值 | 描述 | | | | | NCM 设备节点,通常为 /dev/cdc-wdm0 或 /dev/ttyUSB# | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 使用网络模式,并非每个设备都支持每种模式:首选,首选,LTE,UMTS,gsm,自动 | | | | | 使用的 IP 堆栈模式(适用于 IPv4)、(适用于 IPv6)或(用于双栈)(指定驱动程序 #46844 及更高版本)IPIPV6IPV4V6 | | | | | 尝试与调制解调器交互之前等待的几秒钟(某些调制解调器最多需要 30 秒。 |
协议“wwan”(USB 调制解调器自动检测上述协议)
必须安装包才能使用此功能。“wwan”协议检测USB调制解调器型号的正确协议(3G/QMI/NCM/MBIM),并将配置传递给协议。 wwan 名字 | 类型 | 必填 | 默认值 | 描述 | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 允许的网络模式,逗号分隔的列表:全部,LTE,UMTS,gsm,cdma,td-scdma | | | | | 尝试与调制解调器交互之前等待的几秒钟(某些中兴通讯调制解调器最多需要 30 秒。 |
协议“hnet”(自我管理家庭网络(HNCP))hnet-full 名字 | 类型 | 必填 | 默认值 | 描述 | | | | | | | | | | 要分配给此接口的 IPv6 前缀大小(如果是内部接口)。 | | | | | 要分配给此接口的 IPv4 前缀大小(如果是内部接口)。 | | | | | |
协议“pptp”(点对点隧道协议)
必须安装包才能使用 PPtP。有一个单独的操作方法: vpn.client.pptp。您需要有另一个部分来配置“父”设备,并且可能需要将“<vpn>”添加到防火墙中的“wan”区域(<vpn>作为此部分的“逻辑接口名称”)。pptp 名字 | 类型 | 必填 | 默认值 | 描述 | | | | | | | | | | | | | | | | | | | | 启用数据包的缓冲和重新排序,[size=1em]0 禁用 r32482 中删除的 ([size=1em]–nobuffer) pptp 缓冲选项 | | | | | | | | | | | | | | | | | | | | | | | | | 物理接口的名称。默认为无论您使用什么pptp-<vpn> |
协议“6in4”(IPv6-in-IPv4 隧道)
必须安装包才能使用此协议。6in4 名字 | 类型 | 必填 | 默认值 | 描述 | [size=1em]ipaddr | IPv4 地址 | 不 | 当前广域网 IPv4 地址 | 本地 IPv4 端点地址 | [size=1em]peeraddr | IPv4 地址 | 是的 | (无) | 远程 IPv4 端点地址 | [size=1em]ip6addr | IPv6 地址 (CIDR) | 是的 | (无) | 委派给隧道端点的本地 IPv6 地址 | [size=1em]ip6prefix | IPv6 前缀 | 不 | (无) | 下游接口的路由 IPv6 前缀(仅限屏障破坏者和更高版本) | [size=1em]sourcerouting | 布尔 | 不 | [size=1em]1 | 是否仅路由来自委派前缀的数据包(仅限屏障破坏者和更高版本) | [size=1em]defaultroute | 布尔 | 不 | [size=1em]1 | 是否通过隧道创建 IPv6 默认路由 | [size=1em]ttl | 整数 | 不 | [size=1em]64 | 用于隧道接口的 TTL | [size=1em]tos | 字符串 | 不 | (无) | 服务类型 :“继承”(外部标头继承内部标头的值)或十六进制值。也称为 DSCP。(混沌平静者,仅后来) | [size=1em]mtu | 整数 | 不 | [size=1em]1280 | 用于隧道接口的 MTU | [size=1em]tunnelid | 整数 | 不 | (无) | HE.net 全局隧道 ID(用于端点更新) | [size=1em]username | 字符串 | 不 | (无) | HE.net 用于登录隧道经纪人的用户名,而不是在您登录 int 后显示的用户 ID(用于端点更新) | [size=1em]password | 字符串 | 不 | (无) | HE.net 密码的 md5总和(用于端点更新) | [size=1em]updatekey | 字符串 | 不 | (无) | HE.net 更新密钥,覆盖密码(用于端点更新) | [size=1em]metric | 整数 | 不 | [size=1em]0 | 指定要使用的默认路由指标 |
注意:此协议类型不需要在接口部分中设置选项。接口名称派生自节名,例如 将生成名为 的接口。ifnameconfig interface sixbone6in4-sixbone 注意:HE.net 在 2014 年 39646 月引入了 updatekey 作为新隧道的默认密钥。r<> 对 Openwrt 中继的支持。 注意:截至 r41358 用户名、密码和更新密钥均为纯文本条目。 注意:尽管不需要 ip6前缀,但默认情况下启用的源路由将阻止转发数据包,除非指定了 ip6前缀。
协议“aiccu”(自动 IPv6 连接客户端实用程序)
必须安装包才能使用此协议。此实用程序不应在无头模式下运行。如果您有其他选择,请不要使用它。只有AYIYA隧道类型已经过测试。对于静态隧道或检测信号隧道,请改用本机 6in4 隧道,可能使用 he.net 隧道代理。aiccu
此协议仅适用于屏障破坏者和更新版本。 [td]
名字 | 类型 | 必填 | 默认值 | 描述 | [size=1em]username | 字符串 | 是的 | (无) | 服务器用户名 | [size=1em]password | 字符串 | 是的 | (无) | 服务器密码 | [size=1em]protocol | 字符串 | 不 | (无) | 要使用的隧道设置协议 (, ,[size=1em]tictspl2tp) | [size=1em]server | 字符串 | 不 | [size=1em]tic.sixxs.net | 要使用的隧道设置服务器 | [size=1em]ip6addr | IPv6 地址 (CIDR) | 不 | (无) | 委派给隧道端点的本地 IPv6 地址(不需要) | [size=1em]ntpsynctimeout | 整数 | 不 | [size=1em]90 | | [size=1em]tunnelid | 整数 | 不 | (无) | TIC 服务器隧道 ID | [size=1em]ip6prefix | IPv6 前缀 | 不 | (无) | 下游接口的路由 IPv6 前缀 | [size=1em]defaultroute | 布尔 | 不 | [size=1em]1 | 是否通过隧道创建 IPv6 默认路由 | [size=1em]sourcerouting | 布尔 | 不 | [size=1em]1 | 是否仅路由来自委派前缀的数据包 | [size=1em]tunnelid | 整数 | 不 | (无) | TIC 服务器隧道 ID | [size=1em]requiretls | 布尔 | 不 | [size=1em]0 | 需要与TIC服务器建立TLS连接 | [size=1em]nat | 布尔 | 不 | [size=1em]1 | 通知用户检测到 NAT 类型的网络 | [size=1em]heartbeat | 布尔 | 不 | [size=1em]1 | 发出心跳 | [size=1em]verbose | 布尔 | 不 | [size=1em]0 | 详细记录到系统日志 |
注意:此协议类型不需要在接口部分中设置选项。接口名称派生自节名,例如 将生成名为 的接口。ifnameconfig interface sixboneaiccu-sixbone
协议“6to4”(IPv6 in-IPv4 隧道)
必须安装包才能使用此协议。6to4 名字 | 类型 | 必填 | 默认值 | 描述 | [size=1em]ipaddr | IPv4 地址 | 不 | 当前广域网 IPv4 地址 | 本地 IPv4 端点地址 | [size=1em]defaultroute | 布尔 | 不 | [size=1em]1 | 是否通过隧道创建 IPv6 默认路由 | [size=1em]ttl | 整数 | 不 | [size=1em]64 | 用于隧道接口的 TTL | [size=1em]tos | 字符串 | 不 | (无) | 服务类型:“继承”(外部标头继承内部标头的值)或十六进制值(Chaos Calmer和更高版本) | [size=1em]mtu | 整数 | 不 | [size=1em]1280 | 用于隧道接口的 MTU | [size=1em]metric | 整数 | 不 | [size=1em]0 | 指定要使用的默认路由指标 | [size=1em]adv_interface | 字符串 | 不 | [size=1em]lan | (已弃用)应通告子网的网络的逻辑接口名称。可以给出多个接口名称。 | [size=1em]adv_subnet | 十六进制数 | 不 | [size=1em]1 | (已弃用)介于 和 之间的子网 ID,用于从映射的 64to6 空间中选择播发的 /4 前缀。对于 中指定的每个接口,子网 ID 将递增 1。[size=1em]1FFFFadv_interface | [size=1em]adv_valid_lifetime | 整数 | 不 | [size=1em]300 | | [size=1em]adv_preferred_lifetime | 整数 | 不 | [size=1em]120 | |
注意:此协议类型不需要在接口部分中设置选项。接口名称派生自节名,例如 将生成名为 的接口。
注意:如果已安装并启用了 radvd,则 6to4 脚本将向 radvd uci 配置添加临时前缀和接口声明,并在需要时执行守护程序重新启动。(已弃用)ifnameconfig interface wan66to4-wan6
协议“6rd”(IPv6 快速部署)
必须安装包才能使用此协议。6rd
所需的隧道值通常通过 WAN 接口的 DHCPv4 请求获取。 先试试。下面仅用于对隧道进行硬编码。 [td]
名字 | 类型 | 必填 | 默认值 | 描述 | [size=1em]peeraddr | IPv4 地址 | 是的 | 不 | 第 6 个 - 网关 | [size=1em]ipaddr | IPv4 地址 | 不 | 当前广域网 IPv4 地址 | 本地 IPv4 端点地址 | [size=1em]ip6prefix | IPv6 前缀(无长度) | 是的 | 不 | 6rd-IPv6 前缀 | [size=1em]ip6prefixlen | IPv6 前缀长度 | 是的 | 不 | 6rd-IPv6 前缀长度 | [size=1em]ip4prefixlen | IPv6 前缀长度 | 不 | 0 | IPv4 通用前缀 | [size=1em]defaultroute | 布尔 | 不 | 1 | 是否通过隧道创建 IPv6 默认路由 | [size=1em]ttl | 整数 | 不 | 64 | 用于隧道接口的 TTL | [size=1em]tos | 字符串 | 不 | (无) | 服务类型:“继承”(外部标头继承内部标头的值)或十六进制值(Chaos Calmer和更高版本) | [size=1em]mtu | 整数 | 不 | 1280 | 用于隧道接口的 MTU |
注意:此协议类型不需要在接口部分中设置选项。接口名称派生自节名,例如 将生成名为 的接口。ifnameconfig interface wan66rd-wan6 注意:一些ISP会为您提供应该从WAN IP中用于计算IPv6地址的字节数。ip4prefixlen 需要 WAN IP 的前缀字节来计算 IPv6 地址。因此,如果您的 ISP 为您提供 14 个字节进行计算,请输入 18 (32 - 14)。
协议“dslite”(双栈精简版)
必须安装包才能使用此协议。ds-lite [td]
名字 | 类型 | 必填 | 默认值 | 描述 | [size=1em]peeraddr | IPv6 地址 | 是的 | 不 | DS-Lite AFTR 地址 | [size=1em]ip6addr | IPv6 地址 | 不 | 当前广域网 IPv6 地址 | 本地 IPv6 端点地址 | [size=1em]tunlink | 逻辑接口 | 不 | 当前广域网接口 | 隧道基本接口 | [size=1em]defaultroute | 布尔 | 不 | 1 | 是否通过隧道创建 IPv6 默认路由 | [size=1em]ttl | 整数 | 不 | 64 | 用于隧道接口的 TTL | [size=1em]mtu | 整数 | 不 | 1280 | 用于隧道接口的 MTU |
ds-lite 操作要求禁用 IPv4 NAT。您应该相应地调整 /etc/config/firewall 中的设置。 注意:此协议类型不需要在接口部分中设置选项。接口名称派生自节名,例如 将生成名为 的接口。ifnameconfig interface wandslite-wan
协议“l2tp”(通过 L2TP 伪线隧道的 PPP)
必须安装包才能使用此协议。xl2tpd 大多数选项类似于协议“ppp”。 [td]
名字 | 类型 | 必填默认值 | 默认值 | 描述 | [size=1em]server | 字符串 | 是的 | (无) | 要连接到的 L2TP 服务器。可接受的数据类型是主机名或 IP 地址,可选端口用冒号分隔。请注意,指定端口仅在最近受支持,并且应出现在 DD 版本中[size=1em]: | [size=1em]username | 字符串 | 不 | (无) | 用于 PAP/CHAP 身份验证的用户名 | [size=1em]password | 字符串 | 是,如果提供[size=1em]username | (无) | PAP/CHAP 身份验证的密码 | [size=1em]ipv6 | 布尔 | 不 | 0 | 在 PPP 链路上启用 IPv6 (IPv6CP) | [size=1em]mtu | 国际 | 不 | [size=1em]pppd违约 | 最大传输/接收单位(以字节为单位) | [size=1em]keepalive | 字符串 | 不 | (无) | 在考虑对等体死亡之前未应答的回显请求数。回显请求之间的间隔为 5 秒。 | [size=1em]checkup_interval | 国际 | 不 | (无) | 检查接口自上次设置尝试以来是否未启动之前要经过的秒数,否则重试连接。将其设置为足以成功建立 L2TP 连接的值。这主要是针对 netifd 发送了连接请求但 xl2tpd 在没有 netifd 通知的情况下未能完成它的情况 | [size=1em]pppd_options | 字符串 | 不 | (无) | 要传递到的其他选项[size=1em]pppd |
物理接口的名称将为“l2tp-<逻辑接口名称>”。
协议“中继”(中继伪桥)
必须安装包才能使用此协议。relayd [td]
名字 | 类型 | 必填 | 默认值 | 描述 | [size=1em]network | 逻辑接口名称列表 | 是的 | (无) | 指定中继流量的网络 | [size=1em]gateway | IPv4 地址 | 不 | (网络默认) | 覆盖在 DHCP 响应中发送到客户端的网关地址 | [size=1em]expiry | 整数 | 不 | [size=1em]30 | 主机过期超时(以秒为单位) | [size=1em]retry | 整数 | 不 | [size=1em]5 | 在主机被视为不活动之前,ARP ping 重试次数 | [size=1em]table | 整数 | 不 | [size=1em]16800 | 自动添加路由的表 ID | [size=1em]forward_bcast | 布尔 | 不 | [size=1em]1 | 启用广播流量的转发,禁用它[size=1em]0 | [size=1em]forward_dhcp | 布尔 | 不 | [size=1em]1 | 启用 DHCP 请求和响应的转发,禁用它[size=1em]0 |
GRE 协议的常用选项
必须安装软件包才能使用 GRE。此外,您需要和/或 .grekmod-grekmod-gre6 GRE支持已在屏障破坏器中引入。定义了四种协议:“gre”、“gretap”、“grev6”和“grev6tap”。 GRE接口的名称将用于“gre”和“gretap”,以及“grev6”和“grev6tap”。gre-<logical interface name>grev6-<logical interface name> 所有四种协议都接受以下常见选项: 名字 | 类型 | 必填 | 默认值 | 描述 | | | | | | | | | | | | | | | 将隧道绑定到此接口(“IP 隧道”选项)[size=1em]dev | | | | | | | | | | 服务类型 (IPv4)、流量类 (IPv6):“继承”(外部标头继承内部标头的值)或十六进制值(Chaos Calmer 和更高版本) | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
协议“gre”(IPv4 上的 GRE 隧道)除了上述所有常见选项外,还支持以下选项:
协议“gretap”(IPv4 上的以太网 GRE 隧道)除了上述所有常见选项外,还支持以下选项:
协议“grev6”(基于 IPv6 的 GRE 隧道)除了上述所有常见选项外,还支持以下选项: 名字 | 类型 | 必填 | 默认值 | 描述 | | | | | | | | | | | | | | | 如果 ip6addr 参数为空且没有可用的 WAN IP 时,从中选择本地终结点的逻辑网络 |
协议“grev6tap”(IPv6 上的以太网 GRE 隧道)除了上述所有常见选项外,还支持以下选项: 名字 | 类型 | 必填 | 默认值 | 描述 | | | | | | | | | | | | | | | 如果 ip6addr 为空且没有可用的 WAN IP 时,从中选择本地终结点的逻辑网络 | | | | | |
协议“vti”(基于 IPv4 的 VTI 隧道)VTI 隧道是设置了 fwmark 的 IPsec 策略。流量将重定向到匹配的 VTI 接口。 名字 | 类型 | 必填 | 默认值 | 描述 | [size=1em]ipaddr | IPv4 地址 | 不 | 广域网 IP | 本地终结点 | [size=1em]peeraddr | IPv4 地址 | 是的 | (无) | 远程端点 | [size=1em]mtu | 整数 | 不 | 1280 | MTU | [size=1em]tunlink | 逻辑接口名称 | 不 | (无) | 将隧道绑定到此接口(“IP 隧道”选项)[size=1em]dev | [size=1em]zone | 区域名称 | 不 | “万” | 将向其添加接口的防火墙区域 | [size=1em]ikey | 整数 | 不 | 0 | 传入数据包的密钥/fwmark | [size=1em]okey | 整数 | 不 | 0 | 传出数据包的密钥/fwmark |
协议“vtiv6”(IPv6上的VTI隧道)除了上述所有常见选项外,还支持以下选项: 名字 | 类型 | 必填 | 默认值 | 描述 | [size=1em]ip6addr | IPv6 地址 | 不 | 广域网 IP | 本地终结点 | [size=1em]peer6addr | IPv6 地址 | 是的 | (无) | 远程端点 | [size=1em]mtu | 整数 | 不 | 1280 | MTU | [size=1em]tunlink | 逻辑接口名称 | 不 | (无) | 将隧道绑定到此接口(“IP 隧道”选项)[size=1em]dev | [size=1em]zone | 区域名称 | 不 | “万” | 将向其添加接口的防火墙区域 | [size=1em]ikey | 整数 | 不 | 0 | 传入数据包的密钥/fwmark | [size=1em]okey | 整数 | 不 | 0 | 传出数据包的密钥/fwmark |
设备最小设备声明由以下行组成:
config device 'eth0.106'
option type '8021q'
option name 'eth0.106'
option ifname 'eth0'
option vid '106'
VLAN接口也可以配置 VLAN 接口。如果没有,它们是由netifd动态创建的。定义 VLAN 提供了更多选项。 支持以下选项: 名字 | 类型 | 必填 | 默认值 | 描述 | | | | | VLAN 类型,可能的值:8021q 或 8021ad | | | | | | | | | | | | | | | | | | | | |
MAC 地址选项是向上游发送,但在写入时不合并。
ATM 网桥(ATM AAL5 以太网)
必须安装软件包才能使用 AAL5 以太网。br2684ctl ATM 网桥使用称为 的特殊配置部分。 每个部分映射指定的 ATM 库库,一个伪以太网设备,它可以 例如,与 与 ISP 建立 DSL 连接结合使用。atm-bridgeatm-bridgeatm#pppoe 典型的桥段如下所示: config atm-bridge
option unit '0'
option vpi '8'
option vci '35'
- 单元将允许创建一个伪设备[size=1em]0br2684ctlnas0
- VPI 和 VCI 指定要桥接的电路。这些值取决于 ISP。[size=1em]835
该部分允许以下选项:atm-bridge 名字 | 类型 | 必填 | 默认值 | 描述 | [size=1em]unit | 数 | 是的 | [size=1em]0 | 指定 br2684 接口号。如果省略,则假定这将导致伪接口。[size=1em]0nas0 | [size=1em]vci | 数 | 不 | [size=1em]35 | PPPoA VCI | [size=1em]vpi | 数 | 不 | [size=1em]8 | PPPoA VPI | [size=1em]atmdev | 数 | 不 | [size=1em]0 | 指定以 0 开头的 ATM 适配器编号。大多数系统只有一个 ATM 设备,不需要此选项 | [size=1em]encaps | 字符串 | 不 | [size=1em]llc | PPPoA 封装模式:“llc”(LLC)或“vc”(VC) | [size=1em]payload | 字符串 | 不 | [size=1em]bridged | PPPoA 转发模式:“路由”或“桥接” |
DSL / VDSL(五)DSL 使用一个名为 的特殊配置部分,它通常如下所示:dsl config vdsl 'dsl'
option annex 'b'
option firmware '/lib/firmware/vdsl.bin'
option tone 'bv'
option xfer_mode 'atm'
该部分允许以下选项:dsl 名字 | 类型 | 必填 | 默认值 | 描述 | [size=1em]annex | 字符串 | 是的 | [size=1em]b | 指定附件设置(取决于 ISP/线路)。
在 lantiq AMAZON 和 DANUBE 设备上支持的值:b、bdmt、b2、b2p、a、at1、alite、admt、a2、a2p、l、m、m2、m2p
lantiq ARX100 “AR9” 和 VRX200 “VR9” 设备上支持的值:a、b、j | [size=1em]firmware | 字符串 | 是的 | [size=1em]/lib/firmware/vdsl.bin | 调制解调器固件映像
的路径 仅受具有 lantiq SoC 的设备支持。
有关详细信息,请参阅下面的 xDSL 固件部分 | [size=1em]tone | 字符串 | 是的 | [size=1em]bv | 音调模式(取决于 ISP/线路)。支持的值:a = A43,av = A43 + V43,b = B43,bv = B43 + V43
仅受具有 ARX100“AR9”和 VRX200“VR9” lantiq SoC 的设备支持。
此配置已在“指定驱动程序”中删除,因为驱动程序现在会自动检测正确的值 | [size=1em]xfer_mode | 字符串 | 是的 | [size=1em]atm | 传输模式。支持的值为:atm = 异步传输模式(通常用于 ADSL 连接),ptm = 数据包传输模式(通常用于 VDSL 连接)
仅受具有 ARX100“AR9”和 VRX200“VR9” lantiq SoC 的设备支持。 |
兰蒂克xDSL固件从 r47631 和 r47650 开始(lantiq:添加 dsl-vr9-firmware-xdsl / lantiq:添加 dsl-vrx200-firmware-xdsl-b:添加 VRX200 DSL 固件的附件 B 版本),有 xDSL 固件的可再发行版本作为 OpenWrt 软件包提供: - DSL-VRX200-固件-xdsl-a
- DSL-VRX200-固件-xdsl-b
alias
别名:旧方式 | “配置别名”方法已弃用。过去,当多个接口共享不支持的同一设备时,需要它。 乔· |
别名部分可用于为接口定义更多 IPv4 和 IPv6 地址。 它们还允许组合,例如主接口上的DHCP和别名中的静态IPv6地址, 例如,在广域网上部署IPv6,同时保持正常的互联网连接。 每个接口可以附加多个别名。 最小别名声明由以下行组成:
config 'alias'
option 'interface' 'lan'
option 'proto' 'static'
option 'ipaddr' '10.0.0.1'
option 'netmask' '255.255.255.0'
- lan是父接口的逻辑接口名称
- static是别名接口协议
- 10.0.0.1指定别名 IP 地址
- 255.255.255.0指定别名网络掩码
在撰写本文时,别名仅允许使用协议类型。 下面列出了部分的定义选项。 staticalias 名字 | 类型 | 必填 | 默认值 | 描述 | [size=1em]interface | 字符串 | 是的 | (无) | 指定此别名所属的父(或主)接口的逻辑接口名称;必须引用定义的部分之一[size=1em]interface | [size=1em]proto | 字符串 | 是的 | (无) | 指定别名接口协议 | [size=1em]ipaddr | IP地址 | 是,如果设置为否[size=1em]ip6addr | (无) | IP地址 | [size=1em]netmask | 网络掩码 | 是,如果设置为否[size=1em]ip6addr | (无) | 网络掩码 | [size=1em]gateway | IP地址 | 不 | (无) | 默认网关 | [size=1em]broadcast | IP地址 | 不 | (无) | 广播地址(如果未设置,则自动生成) | [size=1em]ip6addr | IPv6 地址 | 是,如果设置为否[size=1em]ipaddr | (无) | IPv6 地址(CIDR 表示法) | [size=1em]ip6gw | IPv6 地址 | 不 | (无) | IPv6 默认网关 | [size=1em]dns | IP 地址列表 | 不 | (无) | DNS 服务器 | [size=1em]layer | 整数 | 不 | [size=1em]3 | 选择要为堆叠协议连接到的接口(通过 eth 桥接、通过 eth 或类似方式进行 ppp)。
3:连接到第 3 层接口(如果父接口是第 3 层,则回退到 2 层,则连接到第 2
层接口(如果父接口是桥接其他回退到第 2 层,则连接到第 1 层接口 BR-*)
1:连接到第 1 层接口(ETH*、WLAN*) |
要列出与设备关联的 IP 地址,可以运行 ,但该命令将仅显示每个设备的第一个 IP 地址。但是,如果您为其提供了名称(标签),它将显示别名设备。列出所有 IP 地址的防错方法是:ifconfig ip addr
这种“旧”方式至少适用于OpenWrt 10.03.1和12.09。
别名:新方式基本上为每个IP创建一个“接口”部分,但别名接口可能不是桥接类型 - 对于非桥接接口(physdev,即物理接口),<相同 phydev 的网络接口>[size=1em]ifname
- 对于接口桥接的情况是 br-,其中是主 IP 的配置部分的名称(例如,对于默认的 lan 接口配置,第一个别名将使用 ifname br-lan)。[size=1em]ifnamebase-interfacebase-interface
桥接接口的最小别名定义可能是(对于没有 VLAN 的方案): config interface lan
option 'ifname' 'eth0'
option 'type' 'bridge'
option 'proto' 'static'
option 'ipaddr' '192.168.1.1'
option 'netmask' '255.255.255.0'
config interface lan2
option 'ifname' 'br-lan'
option 'proto' 'static'
option 'ipaddr' '10.0.0.1'
option 'netmask' '255.255.255.0'
或用于非桥接接口 config interface lan
option 'ifname' 'eth0'
option 'proto' 'static'
option 'ipaddr' '192.168.1.1'
option 'netmask' '255.255.255.0'
config interface lan2
option 'ifname' 'eth0'
option 'proto' 'static'
option 'ipaddr' '10.0.0.1'
option 'netmask' '255.255.255.0'
要查看您可以执行的接口列表并查看特定接口的 ip(UCI 名称而不是物理接口),请执行(例如 )。 ubus list network.interface.*ifstatus <interface>ifstatus lan2
在 OpenWRT 10.03.x 上不起作用。
别名:注释在 openwrt 12.09 上,首先定义为 dhcp 接口的 lan 接口 然后具有具有静态IP地址的别名可能会导致问题 使用 OpenWRT 提供的基本 LAN 广域网转发通过 WAN 区域路由 LAN 流量。 解决方案是:具有具有静态地址的基本接口和具有dhcp协议的别名。 另一个注意事项与“如何引用接口的 ifname”有关。 通常 ifname 是如果接口是桥接的, 否则是.避免始终相同的另一种方法 设备正在使用 。这样,即使 wan 接口 不是网桥,可以指WAN接口使用的物理设备 间接。br-wanwanifname <nic_device>ifname @interface
IPv4 路由可以使用部分在特定接口上定义静态 IPv4 路由。至于别名,可以将多个部分附加到一个接口。route 一个最小的示例如下所示: config 'route' 'name_your_route'
option 'interface' 'lan'
option 'target' '172.16.123.0'
option 'netmask' '255.255.255.0'
option 'gateway' '172.16.123.100'
- lan是父接口的逻辑接口名称
- 172.16.123.0是路由的网络地址
- 255.255.255.0指定路由网络掩码
IPv4 路由的合法选项包括: 名字 | 类型 | 必填 | 默认值 | 描述 | [size=1em]interface | 字符串 | 是的 | (无) | 指定此路由所属的父(或主)接口的逻辑接口名称;必须引用定义的部分之一[size=1em]interface | [size=1em]target | IP地址 | 是的 | (无) | 网络地址 | [size=1em]netmask | 网络掩码 | 不 | (无) | 路由网络掩码。如果省略,则假定哪个使主机地址[size=1em]255.255.255.255target | [size=1em]gateway | IP地址 | 不 | (无) | 网络网关。如果省略,则从父接口获取;如果设置为“无”,将为路由指定网关[size=1em]gateway0.0.0.0 | [size=1em]metric | 数 | 不 | 0 | 指定要使用的路由指标 | [size=1em]mtu | 数 | 不 | 接口 MTU | 为此路由定义特定的 MTU | [size=1em]table | 路由表 | 不 | (无) | 定义要用于路由的表 ID。ID 可以是介于 0 到 65535 之间的数字表索引,也可以是在 /etc/iproute2/rt_tables 中声明的符号别名。特殊别名本地 (255)、主别名 (254) 和默认别名 (253) 也被识别 | [size=1em]source | IP地址 | 不 | (无) | 发送到目标覆盖的目标时的首选源地址 | [size=1em]onlink | 布尔 | 不 | 0 | 当启用的网关在链路上时,即使网关与任何接口前缀都不匹配(仅限屏障破坏者及更高版本) | [size=1em]type | 字符串 | 不 | unicast | 下面路由类型表中概述的类型之一(仅限屏障断路器及更高版本) |
要快速禁用路由,该选项不可用。只需重写配置部分,如下所示: enabledroutedisabled_route config 'disabled_route' 'name_your_route'
...lines...它将被 UCI 解析器识别,但不被脚本应用。
/etc/init.d/network
似乎在 openwrt 12.09 上,如果在已经定义了网关的地址空间中使用网关定义路由,则不会添加它。就像 lan 有网关 192.168.1.1 并且我们想通过接口 lan 内的网关 1.2.3.4 转到 192.168.1.5 一样,它不会被添加。可以通过命令强硬添加。ip route
IPv6 路由也可以通过定义一个或多个部分来指定 IPv6 路由。route6 一个最小的示例如下所示: config 'route6'
option 'interface' 'lan'
option 'target' '2001:0DB8:100:F00:BA3::1/64'
option 'gateway' '2001:0DB8:99::1'
- lan是父接口的逻辑接口名称
- 2001:0DB8:100:F00:BA3::1/64是 CIDR 表示法中的路由 IPv6 子网
- 2001:0DB8:99::1指定此路由的 IPv6 网关
IPv6 路由的合法选项包括: 名字 | 类型 | 必填 | 默认值 | 描述 | [size=1em]interface | 字符串 | 是的 | (无) | 指定此路由所属的父(或主)接口的逻辑接口名称;必须引用定义的部分之一[size=1em]interface | [size=1em]target | IPv6 地址 | 是的 | (无) | IPv6 网络地址 | [size=1em]gateway | IPv6 地址 | 不 | (无) | IPv6 网关。如果省略,则从父接口获取[size=1em]gateway | [size=1em]metric | 数 | 不 | 0 | 指定要使用的路由指标 | [size=1em]mtu | 数 | 不 | 接口 MTU | 为此路由定义特定的 MTU | [size=1em]table | 路由表 | 不 | (无) | 定义要用于路由的表 ID。ID 可以是介于 0 到 65535 之间的数字表索引,也可以是在 /etc/iproute2/rt_tables 中声明的符号别名。特殊别名本地 (255)、主别名 (254) 和默认别名 (253) 也被识别 | [size=1em]source | IP地址 | 不 | (无) | 发送到目标覆盖的目标时的首选源地址 | [size=1em]onlink | 布尔 | 不 | 0 | 当启用的网关在链路上时,即使网关与任何接口前缀都不匹配(仅限屏障破坏者及更高版本) | [size=1em]type | 字符串 | 不 | unicast | 下面路由类型表中概述的类型之一(仅限屏障断路器及更高版本) |
路由类型
类型 | 描述 | [size=1em]unicast | 路由条目描述路由前缀所涵盖的目标的实际路径。 | [size=1em]local | 目标将分配给此主机。数据包将环回并在本地传递。 | [size=1em]broadcast | 目的地是广播地址。数据包作为链路广播发送。 | [size=1em]multicast | 用于组播路由的特殊类型。它在正常路由表中不存在。 | [size=1em]unreachable | 这些目的地是无法访问的。数据包将被丢弃,并生成无法访问的 ICMP 消息主机。本地发件人收到 EHOSTUNREACH 错误。 | [size=1em]prohibit | 这些目的地是无法访问的。丢弃数据包,并生成管理上禁止的 ICMP 消息通信。本地发件人收到 EACCES 错误。 | [size=1em]blackhole | 这些目的地是无法访问的。数据包以静默方式丢弃。本地发件人收到 EINVAL 错误。 | [size=1em]anycast | 目标是分配给此主机的任播地址。它们主要等同于本地,但有一个区别:当用作任何数据包的源地址时,此类地址是无效的。 |
rule规则
自OpenWrt屏障破坏者以来,netifd支持实现策略路由所需的IP规则声明。
IPv4规则可以通过声明一个或多个类型节来定义,IPv6规则用类型节表示。这两种类型共享同一组定义的选项。rulerule6 一个简单的 IPv4 规则可能如下所示: config rule
option mark '0xFF'
option in 'lan'
option dest '172.16.0.0/16'
option lookup '100'
- 0xFF是要匹配的 fwmark
- lan是传入逻辑接口名称
- 172.16.0.0/16是要匹配的目标子网
- 100是用于匹配流量的路由表 ID
类似地,IPv6规则如下所示: config rule6
option in 'vpn'
option dest 'fdca:1234::/64'
option action 'prohibit'
- vpn是传入逻辑接口名称
- fdca:1234::/64是要匹配的目标子网
- prohibit是要执行的路由操作
以下选项是为 IP 规则(和)部分定义的: rulerule6 名字 | 类型 | 必填 | 默认值 | 描述 | [size=1em]in | 字符串 | 不 | (无) | 指定传入逻辑接口名称 | [size=1em]out | 字符串 | 不 | (无) | 指定传出逻辑接口名称 | [size=1em]src | IP 子网 | 不 | (无) | 指定要匹配的源子网(CIDR 表示法) | [size=1em]dest | IP 子网 | 不 | (无) | 指定要匹配的目标子网(CIDR 表示法) | [size=1em]tos | 整数 | 不 | (无) | 指定要在 IP 标头中匹配的 TOS 值 | [size=1em]mark | 标记/遮罩 | 不 | (无) | 指定要匹配的 fwmark 及其掩码(可选),例如 匹配标记 255 或匹配任何偶数标记值[size=1em]0xFF0x0/0x1 | [size=1em]invert | 布尔 | 不 | [size=1em]0 | 如果设置为 ,则匹配选项的含义将反转[size=1em]1 | [size=1em]priority | 整数 | 不 | (递增) | 控制 IP 规则的顺序,默认情况下,优先级是自动分配的,以便按照在配置文件中声明的相同顺序处理它们 | [size=1em]lookup | 路由表 | 至少一个 | (无) | 规则目标是表查找,ID 可以是范围从 到 的数字表索引,也可以是 中声明的符号别名。特殊别名 ()、() 和 () 也被识别[size=1em]065535/etc/iproute2/rt_tableslocal255main254default253 | [size=1em]goto | 规则索引 | 规则目标是跳转到由其值指定的另一个规则[size=1em]priority | [size=1em]action | 字符串 | 规则目标是下表中概述的路由操作之一 |
路由操作
行动 | 描述 | [size=1em]prohibit | 达到规则时,使用 ICMP 禁止消息进行响应并中止路由查找 | [size=1em]unreachable | 到达规则时,使用 ICMP 无法访问的消息进行响应并中止路由查找 | [size=1em]blackhole | 到达规则时,丢弃数据包并中止路由查找 | [size=1em]throw | 停止查找当前路由表中的查找,即使存在默认路由 |
例子以下是一些特殊非标准接口配置的示例。
没有 IP 的网桥
config 'interface' 'example'
option 'type' 'bridge'
option 'proto' 'none'
option 'ifname' 'eth0 eth1'
option 'auto' '1'
不带默认网关的 DHCP
config 'interface' 'example'
option 'proto' 'dhcp'
option 'ifname' 'eth0'
option 'defaultroute' '0'
旧版本的OpenWRT改用了这个,但这种方法已被弃用,不再适用于Chaos Calmer: config 'interface' 'example'
option 'proto' 'dhcp'
option 'ifname' 'eth0'
option 'gateway' '0.0.0.0'
DHCP 和 IPv6
config 'interface' 'example'
option 'proto' 'dhcp'
option 'ifname' 'eth0'config 'alias'
option 'interface' 'example'
option 'proto' 'static'
option 'ip6addr' '2001:0DB8:100:F00:BA3::1'
具有多个 DNS 的静态 IP 配置
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' # the priority is: the last dns listed will be the first one # to be chosen for the name resolution.
Openwrt 将仅在重新启动或 ./etc/init.d/dnsmasq restart
静态 IP 配置和具有非零指标的默认网关
config 'interface' 'example'
option 'proto' 'static'
option 'ifname' 'eth0'
option 'ipaddr' '192.168.1.200'
option 'netmask' '255.255.255.0'
option 'dns' '192.168.1.1'config 'route'
option 'interface' 'example'
option 'target' '0.0.0.0'
option 'netmask' '0.0.0.0'
option 'gateway' '192.168.1.1'
option 'metric' '100'
PPtP-over-PPPoE 互联网连接
config 'interface' 'wan'
option 'proto' 'pppoe'
option 'ifname' 'eth1'
option 'username' 'user'
option 'password' 'pass'
option 'timeout' '10'config 'interface' 'vpn'
option 'proto' 'pptp'
option 'ifname' 'vpn'
option 'username' 'vpnuser'
option 'password' 'vpnpass'
option 'server' 'vpn.example.org'
此外,“wan”防火墙区域必须包括以下两个接口: /etc/config/firewall config 'zone'
option 'name' 'wan'
option 'network' 'wan vpn' # Important
option 'input' 'REJECT'
option 'forward' 'REJECT'
option 'output' 'ACCEPT'
option 'masq' '1'
PPPoA ADSL互联网连接
config adsl-device 'adsl'
option fwannex 'a'
option annex 'a'config interface 'wan'
option proto 'pppoa'
option username 'jbloggs@plusdsl.net'
option password 'XXXXXXXXX'
option vpi '0'
option vci '38'
option encaps 'vc'
列出由路由器上的软件创建的接口,例如VPN例如,VPN 接口通常是“tun0”。要在 uci 配置文件中列出它(因此在 luci 中): config interface 'tun0'
option ifname 'tun0'
option proto 'none'
IPv6 中的静态 IPv4 隧道下面的示例说明了飓风电力 (he.net) 代理文件中的静态隧道配置。 选项指定本地 IPv4 地址,是代理 IPv4 地址和通过隧道路由的本地 IPv6 地址。 /etc/config/networkipaddrpeeraddrip6addr config 'interface' 'henet'
option 'proto' '6in4'
option 'ipaddr' '178.24.115.19'
option 'peeraddr' '216.66.80.30'
option 'ip6addr' '2001:0DB8:1f0a:1359::2/64'
您还应该将路由 IPv6 网络中的地址添加到“lan”接口。
要将 IPv6 防火墙规则应用于隧道接口,请将其添加到 中的“wan”区域: /etc/config/firewall config 'zone'
option 'name' 'wan'
option 'network' 'wan henet' # Important
option 'input' 'REJECT'
option 'forward' 'REJECT'
option 'output' 'ACCEPT'
option 'masq' '1'
option conntrack 1
如果要在 LAN 和隧道之间路由 IPv6 流量,请不要忘记在它们之间设置 转发规则。
在一对一 NAT 后面设置- 逆火uci -P/var/state get network.wan.ipaddr
- 后备箱/姿态调整. /lib/functions/network.sh; network_get_ipaddr ip wan; echo $ip
如果是这种情况,您应该将 WAN IP 地址填写到选项中,而不是在隧道创建期间可能提供给 飓风电气的实际公共 IP。 1)或者您可以完全省略 可选选项,让自动配置来处理正确的IP。(
自动配置模糊。正在处理此案?如果您的 WAN IP 是动态的(即通过 DHCP 获得)或您不确定,这将是首选解决方案。参赛作品示例: ipaddripaddruci/etc/config/network config 'interface' 'henet'
option 'proto' '6in4'
option 'peeraddr' '216.66.80.30'
option 'ip6addr' '2001:0DB8:1f0a:1359::2/64'
注意:您可以尝试使用公共 IP 地址定义 WAN 接口的 别名。然后,您可以在选项中使用您的公共IP,由于一对一的NAT,系统将找到仅具有私有IP地址的WAN接口。 但是,它对我并没有真正起作用。
我在IRC上得到了这个建议,它看起来很合理,这就是为什么我把它放在这里的原因。如果不应该修复它,只需删除此注释。ipaddr
动态 IPv6 in-IPv4 隧道(仅限 HE.net)以下示例说明了启用了 IP 更新的飓风电力 (he.net) 代理的动态隧道配置。 自动确定本地 IPv4 地址,并提供隧道 ID、用户名和密码以进行 IP 更新。 config 'interface' 'henet'
option 'proto' '6in4'
option 'peeraddr' '216.66.80.30'
option 'ip6addr' '2001:0DB8:1f0a:1359::2/64'
option 'tunnelid' '12345'
option 'username' 'myusername'
option 'password' '098f6bcd4621d373cade4e832627b4f6'
您还应该将路由 IPv6 网络中的地址添加到“lan”接口。
要将 IPv6 防火墙规则应用于隧道接口,请将其添加到“wan”防火墙区域,有关详细信息,请参阅上面的示例。
上面输入的密码应该是您用于登录 tunnelbroker.net 的密码的 md5sum。
L2TPv3 桥接到局域网的伪线此示例建立伪线隧道并将其桥接到 LAN 端口。现有的 lan 接口与协议一起重用,而不是 。 l2tpstatic config 'interface' 'lan'
option 'proto' 'l2tp'
option 'type' 'bridge'
option 'ifname' 'eth0'
option 'ipaddr' '192.168.1.1'
option 'netmask' '255.255.255.0'
option 'localaddr' '178.24.154.19'
option 'peeraddr' '89.44.33.61'
option 'encap' 'udp'
option 'sport' '4000'
option 'dport' '5410'
局域网和无线站之间的中继此示例在无线客户端网络和 LAN 之间设置伪桥接,以便其工作方式类似于 Broadcom 桥接客户端模式。relayd 无线配置(摘录):
config 'interface' 'lan'
option 'proto' 'l2tp'
option 'type' 'bridge'
option 'ifname' 'eth0'
option 'ipaddr' '192.168.1.1'
option 'netmask' '255.255.255.0'
option 'localaddr' '178.24.154.19'
option 'peeraddr' '89.44.33.61'
option 'encap' 'udp'
option 'sport' '4000'
option 'dport' '5410'
网络配置(摘录):
请注意,LAN 子网必须与无线网络的 DHCP 使用的子网不同。
config 'interface' 'lan'
option 'ifname' 'eth0.1'
option 'proto' 'static'
option 'ipaddr' '192.168.1.1'
option 'netmask' '255.255.255.0'
config 'interface' 'wwan'
option 'proto' 'dhcp'
config 'interface' 'stabridge'
option 'proto' 'relay'
option 'network' 'lan wwan'
与真正的桥接相反,以这种方式转发的流量受防火墙规则的影响,因此无线客户端网络和 LAN 网络都应由同一 LAN 防火墙区域覆盖,并将转发策略设置为允许两个接口之间的流量:accept
config 'zone'
option 'name' 'lan'
option 'network' 'lan wwan' # Important
option 'input' 'ACCEPT'
option 'forward' 'ACCEPT' # Important
option 'output' 'ACCEPT'
GRE 隧道的静态寻址创建静态地址为 10.42.0.253/30 的 GRE 隧道,并将其添加到名为 的现有防火墙区域: tunnels
config interface mytunnel option proto gre option zone tunnels option peeraddr 198.51.100.42
config interface mytunnel_addr option proto static option ifname @mytunnel option ipaddr 10.42.0.253 option netmask 255.255.255.252 # Fixes IPv6 multicast (long-standing bug in kernel). # Useful if you run Babel or OSPFv3. option ip6addr 'fe80::42/64'
网络管理可以通过运行 重新应用完整的网络配置。单个接口可以调高或下调,其中名称对应于相应部分的逻辑接口名称。A 表示先验,因此在重新加载接口时无需同时调用两者。/etc/init.d/network restartifup nameifdown nameconfig interfaceifupifdown 请注意,无线接口由外部管理,可能会断开与现有网桥的关系。在这种情况下,需要运行以重新建立网桥连接。ifupwifi upifup
确定 Linux 接口名称为了从逻辑网络名称(例如在脚本或工具中使用)派生Linux接口名称,可以使用该实用程序,如以下示例所示,该示例在接口上打开端口22。 eth1 wan ifconfig route uci WANIF=$(uci -P/var/state get network.wan.ifname)
iptables -I INPUT -i $WANIF -p tcp --dport 22 -j ACCEPT
uci 状态变量已弃用,不再用于网络相关信息 在论坛中引用 jow。
使用 /lib/functions/network.sh: source /lib/functions/network.sh
if network_get_ipaddr addr "wan"; then
echo "IP is $addr"
fi
多个 IP 地址将多个 IP 地址分配给同一接口: config interface foo
option ifname eth1
list ipaddr 10.8.0.1/24
list ipaddr 10.9.0.1/24
list ip6addr fdca:abcd::1/64
list ip6addr fdca:cdef::1/64指定共享同一设备的多个接口:有关详细信息,请参阅https://dev.openwrt.org/ticket/2829#comment:7。
config interface foo
option ifname eth1
option ipaddr 10.8.0.1
option netmask 255.255.255.0
option ip6addr fdca:abcd::1/64
config interface foo2
option ifname eth1
option ipaddr 10.9.0.1
option netmask 255.255.255.0
option ip6addr fdca:cdef::1/64
1)在创建飓风电力隧道时,您应该始终使用您的公共 IP,因此不要仅仅因为您落后于一对一 NAT 而更改它。
|