sunsili 发表于 2023-7-27 15:31:01

Linux下网络配置

本帖最后由 sunsili 于 2023-7-28 12:06 编辑

Linux下网络配置

参考Network configuration
网络配置文件位于/etc/config/network/(openwrt为例) 。此配置文件负责定义交换机 VLAN、接口配置和网络路由。编辑并保存后,您需要执行./etc/init.d/network reload

以在任何更改生效之前停止并重新启动网络。无需重新启动路由器。

[*]https://dev.openwrt.org/browser/branches/attitude_adjustment/package/base-files/files/etc/config/network
[*]https://dev.openwrt.org/browser/trunk/package/base-files/files/etc/config/network

请随时了解 netifd(Network Interface Daemon 网络接口守护程序)。
Sections以下是可能在网络配置中定义的部分类型的概述。 路由器的最小网络配置通常由至少两个接口(和)和一个交换机部分(如果适用)组成。lan wan
全局设置全局部分在屏障破坏者和更高版本中可用。该部分包含影响网络配置的独立于接口的选项。globals
名字类型必填违约描述
ula_prefixIPv6 前缀不(无)此设备的 IPv6 ULA 前缀


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##
swconfig较新的 -framework 旨在替换旧式交换机配置。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 配置中的某些设置可能会未应用。接口协议可以是以下协议之一:
协议描述程序
static具有固定地址和网络掩码的静态配置ip/ifconfig
dhcp地址和网络掩码由 DHCP 分配udhcpc(忙箱)
dhcpv6地址和网络掩码由 DHCPv6 分配odhcpc6c
pppPPP 协议 - 拨号调制解调器连接pppd
pppoe以太网上的 PPP - DSL 宽带连接pppd+plugin rp-pppoe.so
pppoaATM 上的 PPP - 使用内置调制解调器的 DSL 连接pppd+ plugin ...
3gCDMA、UMTS 或 GPRS 连接使用 AT 式 3G 调制解调器comgt
qmi使用 QMI 协议的 USB 调制解调器uqmi
ncm使用 NCM 协议的 USB 调制解调器comgt-ncm + ?
wwan具有协议自动检测功能的 USB 调制解调器wwan
hnet自我管理的家庭网络 (HNCP)hnet-full
pptp通过 PPtP VPN 连接?
6in4IPv6-in-IPv4 隧道,用于隧道代理(如 HE.net)?
aiccu“无所不包”隧道(Anything-in-anything tunnel)aiccu
6to4基于 IPv6 传输的无状态 IPv4?
6rdIPv6 快速部署6rd
dslite双栈精简版ds-lite
l2tpL2TP 伪线隧道上的 PPPxl2tpd
relay中继伪桥relayd
gre,gretapGRE over IPv4gre+kmod-gre
grev6,grev6tapGRE over IPv6gre+kmod-gre6
vti基于 IPv4 的 VTIvti+kmod-ip_vti
vtiv6基于 IPv6 的 VTIvti+kmod-ip6_vti
none未指定的协议,因此所有其他接口设置将被忽略(如禁用配置)-

根据所使用的接口协议,可能需要几个其他选项才能实现完整的接口声明。 下面列出了每个协议的相应选项。如果使用相应的协议,则必须在接口部分中定义在“必需”列中标记为“是”的选项,可以定义标记为“否”的选项,但也可以省略。在 openwrt 12.09 中,如果接口部分没有定义协议(甚至没有),则其他设置将被完全忽略。结果是,如果接口部分提到物理网络接口(即eth0),即使连接了电缆,该接口也会关闭(使用原型“无”接口)。(可能需要更多测试)none
适用于所有协议类型的选项

名字类型必填默认值描述
ifname接口名称是(*)(无)要分配给此部分的物理接口名称,接口列表(如果设置了类型桥接)。(*) 如果只有无线接口引用此网络,或者协议类型为 pptp、pppoa 或 6in4,则此选项可能为空或缺失
type字符串不(无)如果设置为“网桥”,则创建包含给定 ifnames 的网桥 WLAN 接口名称不可预测,因此您无法在网络配置中直接引用它们
stp布尔不0仅对类型“网桥”有效,启用生成树协议
bridge_empty布尔不0仅对类型“bridge”有效,允许创建空桥
igmp_snooping布尔不1仅对类型“bridge”有效,设置桥的multicast_snooping内核设置
multicast_to_unicast布尔不1仅对类型“网桥”有效,对于网桥上的无线接口,将隔离设置为 1
macaddrMAC地址不(无)覆盖此接口的 MAC 地址
mtu数不(无)覆盖此接口上的默认 MTU
auto布尔不0对于原始 , 否则none1指定是否在引导时启动接口
ipv6布尔不1指定是在此接口上启用 (1) 还是禁用 (0) IPv6(仅限屏障破坏器及更高版本)
accept_ra布尔不1对于协议,否则dhcp0荒废的:指定是否在此接口上接受 IPv6 路由器通告(在姿态调整 12.09 和更早版本时)
send_rs布尔不1对于协议,否则static0荒废的:指定是否在此接口上发送路由器请求(姿态调整 12.09 及更早版本)
force_link布尔不1对于协议,否则static0指定是将 IP 地址、路由和网关(可选)分配给接口,而不管链路是处于活动状态 (“1”) 还是仅在链路变为活动状态 (“0”) 之后;设置为 “1” 时,载波检测事件不会调用热插拔处理程序
enabled布尔不1启用或禁用接口部分
ip4table字符串不(无)(IPv4) 此接口路由的路由表。例如,当 proto = dhcp 时,dhcp 客户端会将路由添加到该表中
ip6table字符串不(无)(IPv6) 此接口路由的路由表。例如,当 proto = dhcp6 时,dhcp6 客户端会将路由添加到该表中


协议“static”

名字类型必填默认值描述
ipaddrIP地址是,如果设置否。ip6addr(无)IP地址。[公开 12.09]它可以是一个 ipaddr 列表 ,即:将为接口分配多个 ip地址。如果将多个 ipaddr 指定为选项,而不是列表,则仅应用最后一个。
netmask网络掩码是,如果设置为否ip6addr(无)网络掩码
gatewayIP地址不(无)默认网关
broadcastIP地址不(无)广播地址(如果未设置,则自动生成)
ip6addrIPv6 地址是,如果设置为否ipaddr(无)将给定的 IPv6 地址分配给此接口(CIDR 表示法)
ip6ifaceidIPv6 后缀不::1允许的值:“eui64”、“随机”、固定值,如“::1:2”。
当从委派服务器接收到 IPv6 前缀(如“a:b:c:d::”)时,请使用后缀(如“::1”)形成此接口的 IPv6 地址(“a:b:c:d::1”)。适用于 LAN 中的多个路由器。该选项是在 2015 年 <> 月由此提交引入 netifd 的。

ip6gwIPv6 地址不(无)将给定的 IPv6 默认网关分配给此接口
ip6assign前缀长度不(无)将给定长度的前缀委托给此接口(仅限屏障破坏器及更高版本)
ip6hint前缀提示(十六进制)不(无)提示应委派为十六进制数的子前缀 ID(仅限屏障破坏器及更高版本)
ip6prefixIPv6 前缀不(无)此处路由的 IPv6 前缀,用于其他接口(仅限屏障破坏器及更高版本)
ip6class字符串列表不(无)定义此接口将接受的 IPv6 前缀类
dnsIP 地址列表不(无)DNS 服务器
dns_search域名列表不(无)主机名查找的搜索列表
metric整数不0指定要使用的默认路由指标


协议“DHCP”

名字类型必填默认值描述
gateway字符串不(无)如果设置为 0.0.0.0,则禁止 DHCP 分配的默认网关
(已弃用)

broadcast布尔不0在 DHCP 请求中启用广播标志,这是某些 ISP 所必需的,例如 DOCSIS 3 包机
ipaddrIP地址不(无)要从 DHCP 服务器请求的 IP 地址
hostname字符串不(无)要包含在 DHCP 请求中的主机名
clientid字符串不系统默认值覆盖 DHCP 请求中的客户端标识符
vendorid字符串不系统默认值覆盖 DHCP 请求中的供应商类
dnsIP 地址列表不(无)补充 DHCP 分配的 DNS 服务器,或在对等 dns 为 0 时仅使用这些服务器
peerdns布尔不1使用 DHCP 提供的 DNS 服务器
defaultroute布尔不1是否通过收到的网关创建默认路由
customroutes字符串不(无)通过收到的网关插入的其他路由的空格分隔列表
metric整数不0指定要用于默认路由和自定义路由的路由指标
classlessroute布尔不1是否请求“无类别路由”选项(DHCP 选项 121) — 自 LEDE r2001 起可用
reqopts字符串不(无)要从服务器请求的其他 DHCP 选项的空格分隔列表
sendopts字符串不(无)要发送到服务器的其他 DHCP 选项的空格分隔列表。语法:其中 是整数代码或符号名称,例如 option:valueoptionhostname
zone防火墙区域不(无)应将此接口添加到的防火墙区域
iface6rd逻辑接口不(无)用于自动配置第 6 个的逻辑接口模板
mtu6rd整数不系统默认值第 6 个接口的 MTU
zone6rd防火墙区域不系统默认值应添加第 6 个接口的防火墙区域

注意:要从 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
名字类型必填默认值描述
reqaddress[尝试,强制,无]不尝试请求地址的行为
reqprefix[自动,编号,0-64]不自动请求前缀的行为(数字表示提示的前缀长度)。如果您只想为 AP 本身提供一个 IPv6 地址,而不需要用于路由的子网,请使用“否”
clientid十六进制字符串不系统默认值覆盖 DHCP 请求中的客户端标识符
ifaceidIPv6 地址不链路本地标识符覆盖通过 RA 接收的地址的接口标识符
dnsIP 地址列表不(无)补充 DHCP 分配的 DNS 服务器,或在对等 dns 为 0 时仅使用这些服务器
peerdns布尔不1使用 DHCP 提供的 DNS 服务器
defaultroute布尔不1是否通过收到的网关创建 IPv6 默认路由
数字列表不(无)指定要请求的其他 DHCP 选项的列表
noslaaconly布尔不0不允许仅通过 SLAAC (RA) 进行配置(由 reqprefix 暗示 != 否)
norelease布尔不0接口关闭时不要发送发布
ip6prefixIPv6 前缀不(无)使用(额外的)用户提供的 IPv6 前缀分发到客户端
iface_dslite逻辑接口不(无)用于自动配置 DS-Lite 的逻辑界面模板

注意:要从 dhcpv6 自动配置 ds-lite,您需要创建一个接口并将其名称作为“iface_dslite”参数。此外,您还需要将其名称添加到 /etc/config/firewall 中的合适防火墙区域。option auto 0
协议“ppp”(调制解调器上的 PPP)必须安装包才能使用 PPP。ppp
名字类型必填默认值描述
device文件路径是的(无)调制解调器设备节点
username字符串否(?(无)用于 PAP/CHAP 身份验证的用户名
password字符串否(?(无)PAP/CHAP 身份验证的密码
connect文件路径不(无)自定义 PPP 连接脚本的路径
disconnect文件路径不(无)自定义 PPP 断开连接脚本的路径
keepalive数不(无)在考虑对等体死亡之前未应答的回显请求数。回显请求之间的间隔为 5 秒。
demand数不(无)由于不活动而关闭连接之前等待的秒数
defaultroute布尔不1替换 PPP 连接上的现有默认路由
peerdns布尔不1使用对等分配的 DNS 服务器
dnsIP 地址列表不(无)覆盖对等分配的 DNS 服务器
ipv6布尔不0在 PPP 链路上启用 IPv6
pppd_options字符串不(无)要传递给 pppd 守护程序的其他命令行参数


协议“pppoe”(以太网上的 PPP)软件包 ,并且必须安装才能使用 PPPoE。ppp kmod-pppoeppp-mod-pppoe
opkg updateopkg install ppp kmod-pppoe ppp-mod-pppoe

名字类型必填默认值描述
username字符串否(?(无)用于 PAP/CHAP 身份验证的用户名
password字符串否(?(无)PAP/CHAP 身份验证的密码
ac字符串不(无)指定要连接到的访问集中器。如果未设置,则使用第一个发现的pppd
service字符串不(无)指定要连接到的服务名称,如果未设置,则使用第一个发现的服务名称pppd
host_uniq字符串不(无)使用此值填充主机-Uniq 标记,这是某些 ISP 所要求的
connect文件路径不(无)自定义 PPP 连接脚本的路径
disconnect文件路径不(无)自定义 PPP 断开连接脚本的路径
keepalive数不(无)重新连接前的连接失败次数
demand数不(无)由于不活动而关闭连接之前等待的秒数
defaultroute布尔不1替换 PPP 连接上的现有默认路由
peerdns布尔不1使用对等分配的 DNS 服务器
dnsIP 地址列表不(无)覆盖对等分配的 DNS 服务器
ipv6布尔不0在 PPP 链路上启用 IPv6
pppd_options字符串不(无)要传递给 pppd 守护程序的其他命令行参数,例如调试


协议“pppoa”(ATM AAL5上的PPP)

必须安装软件包才能使用 PPPoA。ppp-mod-pppoa
名字类型必填默认值描述
vci数不35PPPoA VCI
vpi数不8PPPoA VPI
atmdev数不0指定以 0 开头的 ATM 适配器编号。大多数系统只有一个 ATM 设备,不需要此选项
encaps字符串不llcPPPoA 封装模式:“llc”(LLC)或“vc”(VC)
username字符串否(?(无)用于 PAP/CHAP 身份验证的用户名
password字符串否(?(无)PAP/CHAP 身份验证的密码
connect文件路径不(无)自定义 PPP 连接脚本的路径
disconnect文件路径不(无)自定义 PPP 断开连接脚本的路径
keepalive数不(无)重新连接前的连接失败次数
demand数不(无)由于不活动而关闭连接之前等待的秒数
defaultroute布尔不1替换 PPP 连接上的现有默认路由
peerdns布尔不1使用对等分配的 DNS 服务器
dnsIP 地址列表不(无)覆盖对等分配的 DNS 服务器
ipv6布尔不0在 PPP 链路上启用 IPv6
pppd_options字符串不(无)要传递给 pppd 守护程序的其他命令行参数


协议“3g”(基于EV-DO,CDMA,UMTS或GPRS的PPP)

必须安装软件包才能使用 3G。检查 3gdongle 以获得进一步的帮助。comgt
名字类型必填默认值描述
device文件路径是的(无)调制解调器设备节点
service字符串是的umts3G服务类型:/、//(...._only选项仅限于Novatel&Option卡和加密狗)cdmaevdoumtsumts_onlygprs_only
apn字符串是的(无)二手接入点
pincode数不(无)用于解锁SIM卡的PIN码
dialnumber字符串不*99***1#调制解调器拨号字符串,例如 *99#
maxwait数不20等待调制解调器准备就绪的秒数
username字符串否(?(无)用于 PAP/CHAP 身份验证的用户名
password字符串否(?(无)PAP/CHAP 身份验证的密码
keepalive数不(无)重新连接前的连接失败次数
demand数不(无)由于不活动而关闭连接之前等待的秒数
defaultroute布尔不1替换 PPP 连接上的现有默认路由
peerdns布尔不1使用对等分配的 DNS 服务器
dnsIP 地址列表不(无)覆盖对等分配的 DNS 服务器
ipv6布尔不0在 PPP 链路上启用 IPv6


协议“qmi”(使用 QMI 协议的 USB 调制解调器)必须安装软件包才能使用 QMI。uqmi
名字类型必填默认值描述
device文件路径是的(无)QMI 设备节点,通常为 /dev/cdc-wdm0
apn字符串是的(无)二手接入点
pincode数不(无)用于解锁SIM卡的PIN码
username字符串不(无)用于 PAP/CHAP 身份验证的用户名
password字符串不(无)PAP/CHAP 身份验证的密码
auth字符串不(无)身份验证类型:pap、chap、两者、none
modes字符串不(调制解调器默认)允许的网络模式,逗号分隔的列表:全部,LTE,UMTS,gsm,cdma,td-scdma
delay数不0尝试与调制解调器交互之前等待的几秒钟(某些中兴通讯调制解调器最多需要 30 秒。


协议“NCM”(使用 NCM 协议的 USB 调制解调器)必须安装特定于软件包 + 调制解调器的驱动程序才能使用 NCM。comgt-ncm
名字类型必填默认值描述
device文件路径是的(无)NCM 设备节点,通常为 /dev/cdc-wdm0 或 /dev/ttyUSB#
apn字符串是的(无)二手接入点
pincode数不(无)用于解锁SIM卡的PIN码
username字符串不(无)用于 PAP/CHAP 身份验证的用户名
password字符串不(无)PAP/CHAP 身份验证的密码
auth字符串不(无)身份验证类型:pap、chap、两者、none
mode字符串不(调制解调器默认)使用网络模式,并非每个设备都支持每种模式:首选,首选,LTE,UMTS,gsm,自动
pdptype字符串不IPV4V6使用的 IP 堆栈模式(适用于 IPv4)、(适用于 IPv6)或(用于双栈)(指定驱动程序 #46844 及更高版本)IPIPV6IPV4V6
delay数不0尝试与调制解调器交互之前等待的几秒钟(某些调制解调器最多需要 30 秒。


协议“wwan”(USB 调制解调器自动检测上述协议)必须安装包才能使用此功能。“wwan”协议检测USB调制解调器型号的正确协议(3G/QMI/NCM/MBIM),并将配置传递给协议。wwan
名字类型必填默认值描述
apn字符串是的(无)二手接入点
auth字符串不(无)身份验证类型:pap、chap、两者、none
username字符串不(无)用于 PAP/CHAP 身份验证的用户名
password字符串不(无)PAP/CHAP 身份验证的密码
pincode数不(无)用于解锁SIM卡的PIN码
modes字符串不(调制解调器默认)允许的网络模式,逗号分隔的列表:全部,LTE,UMTS,gsm,cdma,td-scdma
delay数不0尝试与调制解调器交互之前等待的几秒钟(某些中兴通讯调制解调器最多需要 30 秒。


协议“hnet”(自我管理家庭网络(HNCP))必须安装软件包hnet-full才能使用 hnet。有关详细信息,我们建议您在安装之前进行安装hnet-full,请参阅 https://tools.ietf.org/html/rfc7788。hnet-full
名字类型必填默认值描述
mode字符串不自动接口模式。外部、来宾、临时或混合之一。
ip6assign整数不64要分配给此接口的 IPv6 前缀大小(如果是内部接口)。
ip4assign整数不24要分配给此接口的 IPv4 前缀大小(如果是内部接口)。
dnsname字符串不<设备名称>要分配给接口的 DNS 标签。


协议“pptp”(点对点隧道协议)必须安装包才能使用 PPtP。有一个单独的操作方法:vpn.client.pptp。您需要有另一个部分来配置“父”设备,并且可能需要将“<vpn>”添加到防火墙中的“wan”区域(<vpn>作为此部分的“逻辑接口名称”)。pptp
名字类型必填默认值描述
serverIP地址是的(无)远程 PPtP 服务器
username字符串否(?(无)用于 PAP/CHAP 身份验证的用户名
password字符串否(?(无)PAP/CHAP 身份验证的密码
buffering布尔不1启用数据包的缓冲和重新排序,0 禁用 r32482 中删除的 (–nobuffer) pptp 缓冲选项
keepalive整数不?尝试重新连接的次数
defaultroute布尔不1是否通过隧道创建默认路由
peerdns布尔不1使用 PPTP 提供的 DNS 服务器
delegate布尔不?使用内置的 IPv6 管理
iface字符串否(?pptp-<vpn>物理接口的名称。默认为无论您使用什么pptp-<vpn>


协议“6in4”(IPv6-in-IPv4 隧道)必须安装包才能使用此协议。6in4
名字类型必填默认值描述
ipaddrIPv4 地址不当前广域网 IPv4 地址本地 IPv4 端点地址
peeraddrIPv4 地址是的(无)远程 IPv4 端点地址
ip6addrIPv6 地址 (CIDR)是的(无)委派给隧道端点的本地 IPv6 地址
ip6prefixIPv6 前缀不(无)下游接口的路由 IPv6 前缀(仅限屏障破坏者和更高版本)
sourcerouting布尔不1是否仅路由来自委派前缀的数据包(仅限屏障破坏者和更高版本)
defaultroute布尔不1是否通过隧道创建 IPv6 默认路由
ttl整数不64用于隧道接口的 TTL
tos字符串不(无)服务类型 :“继承”(外部标头继承内部标头的值)或十六进制值。也称为 DSCP。(混沌平静者,仅后来)
mtu整数不1280用于隧道接口的 MTU
tunnelid整数不(无)HE.net 全局隧道 ID(用于端点更新)
username字符串不(无)HE.net 用于登录隧道经纪人的用户名,而不是在您登录 int 后显示的用户 ID(用于端点更新)
password字符串不(无)HE.net 密码的 md5总和(用于端点更新)
updatekey字符串不(无)HE.net 更新密钥,覆盖密码(用于端点更新)
metric整数不0指定要使用的默认路由指标

注意:此协议类型不需要在接口部分中设置选项。接口名称派生自节名,例如 将生成名为 的接口。ifnameconfig interface sixbone6in4-sixbone注意:HE.net 在 2014 年 39646 月引入了 updatekey 作为新隧道的默认密钥。r<> 对 Openwrt 中继的支持。注意:截至 r41358 用户名、密码和更新密钥均为纯文本条目。注意:尽管不需要 ip6前缀,但默认情况下启用的源路由将阻止转发数据包,除非指定了 ip6前缀。
协议“aiccu”(自动 IPv6 连接客户端实用程序)必须安装包才能使用此协议。此实用程序不应在无头模式下运行。如果您有其他选择,请不要使用它。只有AYIYA隧道类型已经过测试。对于静态隧道或检测信号隧道,请改用本机 6in4 隧道,可能使用 he.net 隧道代理。aiccu此协议仅适用于屏障破坏者和更新版本。

名字类型必填默认值描述
username字符串是的(无)服务器用户名
password字符串是的(无)服务器密码
protocol字符串不(无)要使用的隧道设置协议 (, ,tictspl2tp)
server字符串不tic.sixxs.net要使用的隧道设置服务器
ip6addrIPv6 地址 (CIDR)不(无)委派给隧道端点的本地 IPv6 地址(不需要)
ntpsynctimeout整数不90等待 NTP 同步那么秒(自 aiccu 20070115-12 起可用))
tunnelid整数不(无)TIC 服务器隧道 ID
ip6prefixIPv6 前缀不(无)下游接口的路由 IPv6 前缀
defaultroute布尔不1是否通过隧道创建 IPv6 默认路由
sourcerouting布尔不1是否仅路由来自委派前缀的数据包
tunnelid整数不(无)TIC 服务器隧道 ID
requiretls布尔不0需要与TIC服务器建立TLS连接
nat布尔不1通知用户检测到 NAT 类型的网络
heartbeat布尔不1发出心跳
verbose布尔不0详细记录到系统日志

注意:此协议类型不需要在接口部分中设置选项。接口名称派生自节名,例如 将生成名为 的接口。ifnameconfig interface sixboneaiccu-sixbone
协议“6to4”(IPv6 in-IPv4 隧道)必须安装包才能使用此协议。6to4
名字类型必填默认值描述
ipaddrIPv4 地址不当前广域网 IPv4 地址本地 IPv4 端点地址
defaultroute布尔不1是否通过隧道创建 IPv6 默认路由
ttl整数不64用于隧道接口的 TTL
tos字符串不(无)服务类型:“继承”(外部标头继承内部标头的值)或十六进制值(Chaos Calmer和更高版本)
mtu整数不1280用于隧道接口的 MTU
metric整数不0指定要使用的默认路由指标
adv_interface字符串不lan(已弃用)应通告子网的网络的逻辑接口名称。可以给出多个接口名称。
adv_subnet十六进制数不1(已弃用)介于 和 之间的子网 ID,用于从映射的 64to6 空间中选择播发的 /4 前缀。对于 中指定的每个接口,子网 ID 将递增 1。1FFFFadv_interface
adv_valid_lifetime整数不300(已弃用)覆盖播发的有效前缀生存期(以秒为单位)(另请参阅 radvd 前缀选项)
adv_preferred_lifetime整数不120(已弃用)覆盖播发的首选前缀生存期(以秒为单位)(另请参阅 radvd 前缀选项)

注意:此协议类型不需要在接口部分中设置选项。接口名称派生自节名,例如 将生成名为 的接口。
注意:如果已安装并启用了 radvd,则 6to4 脚本将向 radvd uci 配置添加临时前缀和接口声明,并在需要时执行守护程序重新启动。(已弃用)ifnameconfig interface wan66to4-wan6
协议“6rd”(IPv6 快速部署)必须安装包才能使用此协议。6rd所需的隧道值通常通过 WAN 接口的 DHCPv4 请求获取。先试试。下面仅用于对隧道进行硬编码。

名字类型必填默认值描述
peeraddrIPv4 地址是的不第 6 个 - 网关
ipaddrIPv4 地址不当前广域网 IPv4 地址本地 IPv4 端点地址
ip6prefixIPv6 前缀(无长度)是的不6rd-IPv6 前缀
ip6prefixlenIPv6 前缀长度是的不6rd-IPv6 前缀长度
ip4prefixlenIPv6 前缀长度不0IPv4 通用前缀
defaultroute布尔不1是否通过隧道创建 IPv6 默认路由
ttl整数不64用于隧道接口的 TTL
tos字符串不(无)服务类型:“继承”(外部标头继承内部标头的值)或十六进制值(Chaos Calmer和更高版本)
mtu整数不1280用于隧道接口的 MTU

注意:此协议类型不需要在接口部分中设置选项。接口名称派生自节名,例如 将生成名为 的接口。ifnameconfig interface wan66rd-wan6注意:一些ISP会为您提供应该从WAN IP中用于计算IPv6地址的字节数。ip4prefixlen 需要 WAN IP 的前缀字节来计算 IPv6 地址。因此,如果您的 ISP 为您提供 14 个字节进行计算,请输入 18 (32 - 14)。
协议“dslite”(双栈精简版)必须安装包才能使用此协议。ds-lite

名字类型必填默认值描述
peeraddrIPv6 地址是的不DS-Lite AFTR 地址
ip6addrIPv6 地址不当前广域网 IPv6 地址本地 IPv6 端点地址
tunlink逻辑接口不当前广域网接口隧道基本接口
defaultroute布尔不1是否通过隧道创建 IPv6 默认路由
ttl整数不64用于隧道接口的 TTL
mtu整数不1280用于隧道接口的 MTU

ds-lite 操作要求禁用 IPv4 NAT。您应该相应地调整 /etc/config/firewall 中的设置。注意:此协议类型不需要在接口部分中设置选项。接口名称派生自节名,例如 将生成名为 的接口。ifnameconfig interface wandslite-wan
协议“l2tp”(通过 L2TP 伪线隧道的 PPP)必须安装包才能使用此协议。xl2tpd大多数选项类似于协议“ppp”。

名字类型必填默认值默认值描述
server字符串是的(无)要连接到的 L2TP 服务器。可接受的数据类型是主机名或 IP 地址,可选端口用冒号分隔。请注意,指定端口仅在最近受支持,并且应出现在 DD 版本中:
username字符串不(无)用于 PAP/CHAP 身份验证的用户名
password字符串是,如果提供username(无)PAP/CHAP 身份验证的密码
ipv6布尔不0在 PPP 链路上启用 IPv6 (IPv6CP)
mtu国际不pppd违约最大传输/接收单位(以字节为单位)
keepalive字符串不(无)在考虑对等体死亡之前未应答的回显请求数。回显请求之间的间隔为 5 秒。
checkup_interval国际不(无)检查接口自上次设置尝试以来是否未启动之前要经过的秒数,否则重试连接。将其设置为足以成功建立 L2TP 连接的值。这主要是针对 netifd 发送了连接请求但 xl2tpd 在没有 netifd 通知的情况下未能完成它的情况
pppd_options字符串不(无)要传递到的其他选项pppd

物理接口的名称将为“l2tp-<逻辑接口名称>”。
协议“中继”(中继伪桥)必须安装包才能使用此协议。relayd

名字类型必填默认值描述
network逻辑接口名称列表是的(无)指定中继流量的网络
gatewayIPv4 地址不(网络默认)覆盖在 DHCP 响应中发送到客户端的网关地址
expiry整数不30主机过期超时(以秒为单位)
retry整数不5在主机被视为不活动之前,ARP ping 重试次数
table整数不16800自动添加路由的表 ID
forward_bcast布尔不1启用广播流量的转发,禁用它0
forward_dhcp布尔不1启用 DHCP 请求和响应的转发,禁用它0


GRE 协议的常用选项必须安装软件包才能使用 GRE。此外,您需要和/或 .grekmod-grekmod-gre6GRE支持已在屏障破坏器中引入。定义了四种协议:“gre”、“gretap”、“grev6”和“grev6tap”。 GRE接口的名称将用于“gre”和“gretap”,以及“grev6”和“grev6tap”。gre-<logical interface name>grev6-<logical interface name>所有四种协议都接受以下常见选项:
名字类型必填默认值描述
mtu整数不1280MTU
ttl整数不64封装数据包的 TTL
tunlink逻辑接口名称不(无)将隧道绑定到此接口(“IP 隧道”选项)dev
zone区域名称不“万”将向其添加接口的防火墙区域
tos字符串不(无)服务类型 (IPv4)、流量类 (IPv6):“继承”(外部标头继承内部标头的值)或十六进制值(Chaos Calmer 和更高版本)
ikey整数不0传入数据包的密钥
okey整数不0传出数据包的密钥
icsum布尔不假需要传入校验和
ocsum布尔不假计算传出校验和
iseqno布尔不假需要传入数据包序列化
oseqno布尔不假执行传出数据包序列化


协议“gre”(IPv4 上的 GRE 隧道)除了上述所有常见选项外,还支持以下选项:
名字类型必填默认值描述
ipaddrIPv4 地址不广域网 IP本地终结点
peeraddrIPv4 地址是的(无)远程端点
df布尔不真在封装数据包时设置“不分段”标志


协议“gretap”(IPv4 上的以太网 GRE 隧道)除了上述所有常见选项外,还支持以下选项:

名字类型必填默认值描述
ipaddrIPv4 地址不广域网 IP本地终结点
peeraddrIPv4 地址是的(无)远程端点
df布尔不真在封装数据包时设置“不分段”标志
network逻辑接口名称不(无)隧道将添加到(桥接)的逻辑网络


协议“grev6”(基于 IPv6 的 GRE 隧道)除了上述所有常见选项外,还支持以下选项:
名字类型必填默认值描述
ip6addrIPv6 地址不广域网 IP本地终结点
peer6addrIPv6 地址是的(无)远程端点
weakif逻辑接口名称不lan如果 ip6addr 参数为空且没有可用的 WAN IP 时,从中选择本地终结点的逻辑网络


协议“grev6tap”(IPv6 上的以太网 GRE 隧道)除了上述所有常见选项外,还支持以下选项:
名字类型必填默认值描述
ip6addrIPv6 地址不广域网 IP本地终结点
peer6addrIPv6 地址是的(无)远程端点
weakif逻辑接口名称不lan如果 ip6addr 为空且没有可用的 WAN IP 时,从中选择本地终结点的逻辑网络
network逻辑接口名称不(无)隧道将添加到(桥接)的逻辑网络


协议“vti”(基于 IPv4 的 VTI 隧道)VTI 隧道是设置了 fwmark 的 IPsec 策略。流量将重定向到匹配的 VTI 接口。
名字类型必填默认值描述
ipaddrIPv4 地址不广域网 IP本地终结点
peeraddrIPv4 地址是的(无)远程端点
mtu整数不1280MTU
tunlink逻辑接口名称不(无)将隧道绑定到此接口(“IP 隧道”选项)dev
zone区域名称不“万”将向其添加接口的防火墙区域
ikey整数不0传入数据包的密钥/fwmark
okey整数不0传出数据包的密钥/fwmark


协议“vtiv6”(IPv6上的VTI隧道)除了上述所有常见选项外,还支持以下选项:
名字类型必填默认值描述
ip6addrIPv6 地址不广域网 IP本地终结点
peer6addrIPv6 地址是的(无)远程端点
mtu整数不1280MTU
tunlink逻辑接口名称不(无)将隧道绑定到此接口(“IP 隧道”选项)dev
zone区域名称不“万”将向其添加接口的防火墙区域
ikey整数不0传入数据包的密钥/fwmark
okey整数不0传出数据包的密钥/fwmark


设备最小设备声明由以下行组成:
config device 'eth0.106'
      option type '8021q'
      option name 'eth0.106'
      option ifname 'eth0'
      option vid '106'

VLAN接口也可以配置 VLAN 接口。如果没有,它们是由netifd动态创建的。定义 VLAN 提供了更多选项。 支持以下选项:
名字类型必填默认值描述
type虚拟局域网类型不802.1qVLAN 类型,可能的值:8021q 或 8021ad
name名字是的(无)设备名称,即 eth0.5 或 vlan5
ifname父接口是的(无)父接口/基本接口的名称,即 eth0
vid虚拟局域网标识是的(无)虚拟局域网标识
macaddr麦克不(无)新接口的 MAC

MAC 地址选项是向上游发送,但在写入时不合并。
ATM 网桥(ATM AAL5 以太网)必须安装软件包才能使用 AAL5 以太网。br2684ctlATM 网桥使用称为 的特殊配置部分。 每个部分映射指定的 ATM 库库,一个伪以太网设备,它可以 例如,与 与 ISP 建立 DSL 连接结合使用。atm-bridgeatm-bridgeatm#pppoe典型的桥段如下所示:config atm-bridge
       option unit   '0'
       option vpi      '8'
       option vci      '35'

[*]单元将允许创建一个伪设备0br2684ctlnas0
[*]VPI 和 VCI 指定要桥接的电路。这些值取决于 ISP。835
该部分允许以下选项:atm-bridge
名字类型必填默认值描述
unit数是的0指定 br2684 接口号。如果省略,则假定这将导致伪接口。0nas0
vci数不35PPPoA VCI
vpi数不8PPPoA VPI
atmdev数不0指定以 0 开头的 ATM 适配器编号。大多数系统只有一个 ATM 设备,不需要此选项
encaps字符串不llcPPPoA 封装模式:“llc”(LLC)或“vc”(VC)
payload字符串不bridgedPPPoA 转发模式:“路由”或“桥接”


DSL / VDSL这目前仅适用于基于 lantiq SoC 的设备。(五)DSL 使用一个名为 的特殊配置部分,它通常如下所示:dslconfig vdsl 'dsl'
      option annex 'b'
      option firmware '/lib/firmware/vdsl.bin'
      option tone 'bv'
      option xfer_mode 'atm'
该部分允许以下选项:dsl
名字类型必填默认值描述
annex字符串是的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
firmware字符串是的/lib/firmware/vdsl.bin调制解调器固件映像

的路径 仅受具有 lantiq SoC 的设备支持。
有关详细信息,请参阅下面的 xDSL 固件部分
tone字符串是的bv音调模式(取决于 ISP/线路)。支持的值:a = A43,av = A43 + V43,b = B43,bv = B43 + V43
仅受具有 ARX100“AR9”和 VRX200“VR9” lantiq SoC 的设备支持。
此配置已在“指定驱动程序”中删除,因为驱动程序现在会自动检测正确的值
xfer_mode字符串是的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
其他固件版本(包括支持矢量的版本)的列表(不完整)可在此处找到:https://xdarklight.github.io/lantiq-xdsl-firmware-info/
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
名字类型必填默认值描述
interface字符串是的(无)指定此别名所属的父(或主)接口的逻辑接口名称;必须引用定义的部分之一interface
proto字符串是的(无)指定别名接口协议
ipaddrIP地址是,如果设置为否ip6addr(无)IP地址
netmask网络掩码是,如果设置为否ip6addr(无)网络掩码
gatewayIP地址不(无)默认网关
broadcastIP地址不(无)广播地址(如果未设置,则自动生成)
ip6addrIPv6 地址是,如果设置为否ipaddr(无)IPv6 地址(CIDR 表示法)
ip6gwIPv6 地址不(无)IPv6 默认网关
dnsIP 地址列表不(无)DNS 服务器
layer整数不3选择要为堆叠协议连接到的接口(通过 eth 桥接、通过 eth 或类似方式进行 ppp)。
3:连接到第 3 层接口(如果父接口是第 3 层,则回退到 2 层,则连接到第 2
层接口(如果父接口是桥接其他回退到第 2 层,则连接到第 1 层接口 BR-*)
1:连接到第 1 层接口(ETH*、WLAN*)

要列出与设备关联的 IP 地址,可以运行 ,但该命令将仅显示每个设备的第一个 IP 地址。但是,如果您为其提供了名称(标签),它将显示别名设备。列出所有 IP 地址的防错方法是:ifconfigip addr这种“旧”方式至少适用于OpenWrt 10.03.1和12.09。
别名:新方式基本上为每个IP创建一个“接口”部分,但别名接口可能不是桥接类型
[*]对于非桥接接口(physdev,即物理接口),<相同 phydev 的网络接口>ifname
[*]对于接口桥接的情况是 br-,其中是主 IP 的配置部分的名称(例如,对于默认的 lan 接口配置,第一个别名将使用 ifname br-lan)。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 路由的合法选项包括:
名字类型必填默认值描述
interface字符串是的(无)指定此路由所属的父(或主)接口的逻辑接口名称;必须引用定义的部分之一interface
targetIP地址是的(无)网络地址
netmask网络掩码不(无)路由网络掩码。如果省略,则假定哪个使主机地址255.255.255.255target
gatewayIP地址不(无)网络网关。如果省略,则从父接口获取;如果设置为“无”,将为路由指定网关gateway0.0.0.0
metric数不0指定要使用的路由指标
mtu数不接口 MTU为此路由定义特定的 MTU
table路由表不(无)定义要用于路由的表 ID。ID 可以是介于 0 到 65535 之间的数字表索引,也可以是在 /etc/iproute2/rt_tables 中声明的符号别名。特殊别名本地 (255)、主别名 (254) 和默认别名 (253) 也被识别
sourceIP地址不(无)发送到目标覆盖的目标时的首选源地址
onlink布尔不0当启用的网关在链路上时,即使网关与任何接口前缀都不匹配(仅限屏障破坏者及更高版本)
type字符串不unicast下面路由类型表中概述的类型之一(仅限屏障断路器及更高版本)

要快速禁用路由,该选项不可用。只需重写配置部分,如下所示:enabledroutedisabled_routeconfig '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 路由的合法选项包括:
名字类型必填默认值描述
interface字符串是的(无)指定此路由所属的父(或主)接口的逻辑接口名称;必须引用定义的部分之一interface
targetIPv6 地址是的(无)IPv6 网络地址
gatewayIPv6 地址不(无)IPv6 网关。如果省略,则从父接口获取gateway
metric数不0指定要使用的路由指标
mtu数不接口 MTU为此路由定义特定的 MTU
table路由表不(无)定义要用于路由的表 ID。ID 可以是介于 0 到 65535 之间的数字表索引,也可以是在 /etc/iproute2/rt_tables 中声明的符号别名。特殊别名本地 (255)、主别名 (254) 和默认别名 (253) 也被识别
sourceIP地址不(无)发送到目标覆盖的目标时的首选源地址
onlink布尔不0当启用的网关在链路上时,即使网关与任何接口前缀都不匹配(仅限屏障破坏者及更高版本)
type字符串不unicast下面路由类型表中概述的类型之一(仅限屏障断路器及更高版本)


路由类型

类型描述
unicast路由条目描述路由前缀所涵盖的目标的实际路径。
local目标将分配给此主机。数据包将环回并在本地传递。
broadcast目的地是广播地址。数据包作为链路广播发送。
multicast用于组播路由的特殊类型。它在正常路由表中不存在。
unreachable这些目的地是无法访问的。数据包将被丢弃,并生成无法访问的 ICMP 消息主机。本地发件人收到 EHOSTUNREACH 错误。
prohibit这些目的地是无法访问的。丢弃数据包,并生成管理上禁止的 ICMP 消息通信。本地发件人收到 EACCES 错误。
blackhole这些目的地是无法访问的。数据包以静默方式丢弃。本地发件人收到 EINVAL 错误。
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
名字类型必填默认值描述
in字符串不(无)指定传入逻辑接口名称
out字符串不(无)指定传出逻辑接口名称
srcIP 子网不(无)指定要匹配的源子网(CIDR 表示法)
destIP 子网不(无)指定要匹配的目标子网(CIDR 表示法)
tos整数不(无)指定要在 IP 标头中匹配的 TOS 值
mark标记/遮罩不(无)指定要匹配的 fwmark 及其掩码(可选),例如 匹配标记 255 或匹配任何偶数标记值0xFF0x0/0x1
invert布尔不0如果设置为 ,则匹配选项的含义将反转1
priority整数不(递增)控制 IP 规则的顺序,默认情况下,优先级是自动分配的,以便按照在配置文件中声明的相同顺序处理它们
lookup路由表至少一个(无)规则目标是表查找,ID 可以是范围从 到 的数字表索引,也可以是 中声明的符号别名。特殊别名 ()、() 和 () 也被识别065535/etc/iproute2/rt_tableslocal255main254default253
goto规则索引规则目标是跳转到由其值指定的另一个规则priority
action字符串规则目标是下表中概述的路由操作之一


路由操作

行动描述
prohibit达到规则时,使用 ICMP 禁止消息进行响应并中止路由查找
unreachable到达规则时,使用 ICMP 无法访问的消息进行响应并中止路由查找
blackhole到达规则时,丢弃数据包并中止路由查找
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/firewallconfig '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/networkipaddrpeeraddrip6addrconfig '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/firewallconfig '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 后面设置例如,如果您的公共 IP 与 WAN 接口上的 IP 地址不匹配,则您的 ISP 可能正在使用一对一 NAT(也称为全锥 NAT),您将无法建立静态 IPv6-in-IPv4 隧道。可以使用以下命令获取 WAN 接口的 IP 地址:178.24.115.19
[*]逆火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/networkconfig '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 接口与协议一起重用,而不是 。l2tpstaticconfig '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 netmask255.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 uciWANIF=$(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 而更改它。






页: [1]
查看完整版本: Linux下网络配置