fix: Bind interface
This commit is contained in:
56
cattools.sh
56
cattools.sh
@@ -274,26 +274,29 @@ network_wizard() {
|
|||||||
echo "Press [Enter] to configure network interfaces, press [1] to skip"
|
echo "Press [Enter] to configure network interfaces, press [1] to skip"
|
||||||
read -p " /// [Enter] 确认配置网口,按 [1] 跳过: " configure_network
|
read -p " /// [Enter] 确认配置网口,按 [1] 跳过: " configure_network
|
||||||
if [ "$configure_network" != "1" ]; then
|
if [ "$configure_network" != "1" ]; then
|
||||||
# Get All ETH
|
# Get All ETH
|
||||||
interfaces=$(ls /sys/class/net | grep -E 'eth[0-9]+')
|
interfaces=$(ls /sys/class/net | grep -E 'eth[0-9]+')
|
||||||
iface_count=$(echo "$interfaces" | wc -w)
|
iface_count=$(echo "$interfaces" | wc -w)
|
||||||
|
|
||||||
if [ "$iface_count" -eq 1 ]; then
|
if [ "$iface_count" -eq 1 ]; then
|
||||||
echo "[Step10] Detected a single network interface, no configuration needed /// 检测到单个网口,无需配置"
|
echo "[Step10] Detected a single network interface, no configuration needed"
|
||||||
|
echo " /// 检测到单个网口,无需配置"
|
||||||
|
elif [ "$iface_count" -eq 2 ]; then
|
||||||
|
echo "[Step10] Detected two network interfaces, configuration not recommended"
|
||||||
|
echo " /// 检测到两个网口,不推荐配置"
|
||||||
|
echo "Press [Enter] to skip, press [1] to configure /// ( [Enter] 跳过 ,按 [1] 配置)"
|
||||||
|
read -p " " continue_network
|
||||||
|
if [ "$continue_network" != "1" ]; then
|
||||||
|
echo "[Step10] Skipping network interface configuration /// 跳过网口配置"
|
||||||
else
|
else
|
||||||
echo
|
|
||||||
echo "[Step10] Detected multiple network interfaces /// 检测到多个网口"
|
|
||||||
# ETH0 set WAN,ETH123 set LAN
|
|
||||||
bridge_ports=""
|
bridge_ports=""
|
||||||
for iface in $interfaces; do
|
for iface in $interfaces; do
|
||||||
if [ "$iface" != "eth0" ]; then
|
if [ "$iface" != "eth0" ]; then
|
||||||
bridge_ports="$bridge_ports $iface"
|
bridge_ports="$bridge_ports $iface"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
uci set network.wan.ifname='eth0'
|
uci set network.wan.ifname='eth0'
|
||||||
uci set network.wan.proto='dhcp'
|
uci set network.wan.proto='dhcp'
|
||||||
|
|
||||||
uci set network.lan.type='bridge'
|
uci set network.lan.type='bridge'
|
||||||
uci set network.lan.ifname="$bridge_ports"
|
uci set network.lan.ifname="$bridge_ports"
|
||||||
uci set network.lan._orig_ifname="$bridge_ports"
|
uci set network.lan._orig_ifname="$bridge_ports"
|
||||||
@@ -308,7 +311,28 @@ network_wizard() {
|
|||||||
echo "[Step10] Network interfaces configured: WAN (ETH0), LAN ($bridge_ports) /// 网口已配置: WAN (ETH0), LAN ($bridge_ports)"
|
echo "[Step10] Network interfaces configured: WAN (ETH0), LAN ($bridge_ports) /// 网口已配置: WAN (ETH0), LAN ($bridge_ports)"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo "[Step10] Skipping network interface configuration /// 跳过网口配置"
|
echo "[Step10] Detected multiple network interfaces /// 检测到多个网口"
|
||||||
|
echo "[Step10] Configuring network interfaces... /// 开始配置网口..."
|
||||||
|
bridge_ports=""
|
||||||
|
for iface in $interfaces; do
|
||||||
|
if [ "$iface" != "eth0" ]; then
|
||||||
|
bridge_ports="$bridge_ports $iface"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
uci set network.wan.ifname='eth0'
|
||||||
|
uci set network.wan.proto='dhcp'
|
||||||
|
uci set network.lan.type='bridge'
|
||||||
|
uci set network.lan.ifname="$bridge_ports"
|
||||||
|
uci set network.lan._orig_ifname="$bridge_ports"
|
||||||
|
uci set network.lan._orig_bridge='true'
|
||||||
|
|
||||||
|
uci set network.wan6._orig_bridge='false'
|
||||||
|
uci set network.wan6._orig_ifname='eth1'
|
||||||
|
uci set network.wan6.ifname='eth0'
|
||||||
|
uci set network.wan6.reqaddress='try'
|
||||||
|
uci set network.wan6.reqprefix='auto'
|
||||||
|
|
||||||
|
echo "[Step10] Network interfaces configured: WAN (ETH0), LAN ($bridge_ports) /// 网口已配置: WAN (ETH0), LAN ($bridge_ports)"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo "[Step10] System architecture $arch is not supported. No changes made. /// 系统架构 $arch 不支持该脚本,未进行任何更改"
|
echo "[Step10] System architecture $arch is not supported. No changes made. /// 系统架构 $arch 不支持该脚本,未进行任何更改"
|
||||||
@@ -328,11 +352,11 @@ bypass_gateway() {
|
|||||||
# 输入主路由的 IP 地址
|
# 输入主路由的 IP 地址
|
||||||
while true; do
|
while true; do
|
||||||
echo ""
|
echo ""
|
||||||
read -p "[Step3] 请输入主路由的 IP 地址(例如 192.168.31.1):" router_ip
|
read -p "[Step3] 请输入主路由的 IP 地址 (如 192.168.31.1): " router_ip
|
||||||
if [ -z "$router_ip" ]; then
|
if [ -z "$router_ip" ]; then
|
||||||
echo "主路由 IP 地址不能为空,请重新输入。"
|
echo "[ERROR] 主路由 IP 地址不能为空,请重新输入。"
|
||||||
elif ! echo "$router_ip" | grep -Eq '^(10|172\.(1[6-9]|2[0-9]|3[01])|192\.168)\.'; then
|
elif ! echo "$router_ip" | grep -Eq '^(10|172\.(1[6-9]|2[0-9]|3[01])|192\.168)\.'; then
|
||||||
echo "输入的 IP 地址无效,请输入有效的 IP 地址"
|
echo "[ERROR] 输入的 IP 地址无效,请输入有效的 IP 地址"
|
||||||
else
|
else
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
@@ -348,7 +372,7 @@ bypass_gateway() {
|
|||||||
device_ip="$default_device_ip"
|
device_ip="$default_device_ip"
|
||||||
break
|
break
|
||||||
elif ! echo "$device_ip" | grep -Eq '^(10|172\.(1[6-9]|2[0-9]|3[01])|192\.168)\.'; then
|
elif ! echo "$device_ip" | grep -Eq '^(10|172\.(1[6-9]|2[0-9]|3[01])|192\.168)\.'; then
|
||||||
echo "输入的 IP 地址无效,请输入有效的 IP 地址。"
|
echo "[ERROR] 输入的 IP 地址无效,请输入有效的 IP 地址。"
|
||||||
else
|
else
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
@@ -414,7 +438,7 @@ bypass_gateway() {
|
|||||||
/etc/init.d/dnsmasq restart
|
/etc/init.d/dnsmasq restart
|
||||||
|
|
||||||
echo
|
echo
|
||||||
echo "[INFO] 如出现 Warning 是因为旁路的防火墙是这样报错的,部分配置可以忽略不影响使用"
|
echo "[INFO] 如出现 Warning 是因为旁路防火墙是这样报错的,部分配置可以忽略不影响使用"
|
||||||
echo
|
echo
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user