Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
mgqnfoqv7k2w
AutoBuildImmortalWrt
Commits
b79e130d
Unverified
Commit
b79e130d
authored
Feb 25, 2025
by
wukongdaily
Committed by
GitHub
Feb 25, 2025
Browse files
设置eth0是wan口 其余网口为lan口
完成需求
https://github.com/wukongdaily/AutoBuildImmortalWrt/issues/109
parent
56f3cd8e
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
51 additions
and
15 deletions
+51
-15
files/etc/uci-defaults/99-custom.sh
files/etc/uci-defaults/99-custom.sh
+51
-15
No files found.
files/etc/uci-defaults/99-custom.sh
View file @
b79e130d
...
@@ -11,25 +11,28 @@ uci add dhcp domain
...
@@ -11,25 +11,28 @@ uci add dhcp domain
uci
set
"dhcp.@domain[-1].name=time.android.com"
uci
set
"dhcp.@domain[-1].name=time.android.com"
uci
set
"dhcp.@domain[-1].ip=203.107.6.88"
uci
set
"dhcp.@domain[-1].ip=203.107.6.88"
# 检查配置文件pppoe-settings是否存在 该文件由build.sh动态生成
SETTINGS_FILE
=
"/etc/config/pppoe-settings"
if
[
!
-f
"
$SETTINGS_FILE
"
]
;
then
echo
"PPPoE settings file not found. Skipping."
>>
$LOGFILE
else
# 读取pppoe信息($enable_pppoe、$pppoe_account、$pppoe_password)
.
"
$SETTINGS_FILE
"
fi
# 计算网卡数量
# 计算网卡数量
count
=
0
count
=
0
ifnames
=
""
for
iface
in
/sys/class/net/
*
;
do
for
iface
in
/sys/class/net/
*
;
do
iface_name
=
$(
basename
"
$iface
"
)
iface_name
=
$(
basename
"
$iface
"
)
# 检查是否为物理网卡(排除回环设备和无线设备)
# 检查是否为物理网卡(排除回环设备和无线设备)
if
[
-e
"
$iface
/device"
]
&&
echo
"
$iface_name
"
|
grep
-Eq
'^eth|^en'
;
then
if
[
-e
"
$iface
/device"
]
&&
echo
"
$iface_name
"
|
grep
-Eq
'^eth|^en'
;
then
count
=
$((
count
+
1
))
count
=
$((
count
+
1
))
ifnames
=
"
$ifnames
$iface_name
"
fi
fi
done
done
# 删除多余空格
# 检查配置文件pppoe-settings是否存在 该文件由build.sh动态生成
ifnames
=
$(
echo
"
$ifnames
"
|
awk
'{$1=$1};1'
)
SETTINGS_FILE
=
"/etc/config/pppoe-settings"
if
[
!
-f
"
$SETTINGS_FILE
"
]
;
then
echo
"PPPoE settings file not found. Skipping."
>>
$LOGFILE
else
# 读取pppoe信息($enable_pppoe、$pppoe_account、$pppoe_password)
.
"
$SETTINGS_FILE
"
fi
# 网络设置
# 网络设置
if
[
"
$count
"
-eq
1
]
;
then
if
[
"
$count
"
-eq
1
]
;
then
...
@@ -37,25 +40,58 @@ if [ "$count" -eq 1 ]; then
...
@@ -37,25 +40,58 @@ if [ "$count" -eq 1 ]; then
# 单网口设备 不支持修改ip 不要在此处修改ip
# 单网口设备 不支持修改ip 不要在此处修改ip
uci
set
network.lan.proto
=
'dhcp'
uci
set
network.lan.proto
=
'dhcp'
elif
[
"
$count
"
-gt
1
]
;
then
elif
[
"
$count
"
-gt
1
]
;
then
# 提取第一个接口作为WAN
wan_ifname
=
$(
echo
"
$ifnames
"
|
awk
'{print $1}'
)
# 剩余接口保留给LAN
lan_ifnames
=
$(
echo
"
$ifnames
"
|
cut
-d
' '
-f2-
)
# 设置WAN接口基础配置
uci
set
network.wan
=
interface
# 提取第一个接口作为WAN
uci
set
network.wan.device
=
"
$wan_ifname
"
# WAN接口默认DHCP
uci
set
network.wan.proto
=
'dhcp'
# 设置WAN6绑定网口eth0
uci
set
network.wan6
=
interface
uci
set
network.wan6.device
=
"
$wan_ifname
"
# 更新LAN接口成员
# 查找对应设备的section名称
section
=
$(
uci show network |
awk
-F
'[.=]'
'/\.@?device\[\d+\]\.name=.br-lan.$/ {print $2; exit}'
)
if
[
-z
"
$section
"
]
;
then
echo
"error:cannot find device 'br-lan'."
>>
$LOGFILE
else
# 删除原来的ports列表
uci
-q
delete
"network.
$section
.ports"
# 添加新的ports列表
for
port
in
$lan_ifnames
;
do
uci add_list
"network.
$section
.ports"
=
"
$port
"
done
echo
"ports of device 'br-lan' are update."
>>
$LOGFILE
fi
# LAN口设置静态IP
uci
set
network.lan.proto
=
'static'
# 多网口设备 支持修改为别的ip地址
# 多网口设备 支持修改为别的ip地址
uci
set
network.lan.ipaddr
=
'192.168.100.1'
uci
set
network.lan.ipaddr
=
'192.168.100.1'
uci
set
network.lan.netmask
=
'255.255.255.0'
echo
"set 192.168.100.1 at
$(
date
)
"
>>
$LOGFILE
echo
"set 192.168.100.1 at
$(
date
)
"
>>
$LOGFILE
# 判断是否启用 PPPoE
# 判断是否启用 PPPoE
echo
"print enable_pppoe value===
$enable_pppoe
"
>>
$LOGFILE
echo
"print enable_pppoe value===
$enable_pppoe
"
>>
$LOGFILE
if
[
"
$enable_pppoe
"
=
"yes"
]
;
then
if
[
"
$enable_pppoe
"
=
"yes"
]
;
then
echo
"PPPoE is enabled at
$(
date
)
"
>>
$LOGFILE
echo
"PPPoE is enabled at
$(
date
)
"
>>
$LOGFILE
# 设置宽带拨号信息
# 设置ipv4宽带拨号信息
uci
set
network.wan.proto
=
'pppoe'
uci
set
network.wan.proto
=
'pppoe'
uci
set
network.wan.username
=
$pppoe_account
uci
set
network.wan.username
=
$pppoe_account
uci
set
network.wan.password
=
$pppoe_password
uci
set
network.wan.password
=
$pppoe_password
uci
set
network.wan.peerdns
=
'1'
uci
set
network.wan.peerdns
=
'1'
uci
set
network.wan.auto
=
'1'
uci
set
network.wan.auto
=
'1'
# 设置ipv6 默认不配置协议
uci
set
network.wan6.proto
=
'none'
echo
"PPPoE configuration completed successfully."
>>
$LOGFILE
echo
"PPPoE configuration completed successfully."
>>
$LOGFILE
else
else
echo
"PPPoE is not enabled. Skipping configuration."
>>
$LOGFILE
echo
"PPPoE is not enabled. Skipping configuration."
>>
$LOGFILE
fi
fi
fi
fi
# 设置所有网口可访问网页终端
# 设置所有网口可访问网页终端
uci delete ttyd.@ttyd[0].interface
uci delete ttyd.@ttyd[0].interface
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment