|
|
@@ -21,24 +21,18 @@ import (
|
|
|
"hnyfkj.com.cn/rtu/linux/baseapp"
|
|
|
)
|
|
|
|
|
|
-// 只保留需要使用的"usb0"网卡
|
|
|
-func disableEthButUSB0() error {
|
|
|
- ifaces, err := net.Interfaces()
|
|
|
+// 禁用"eth0"网口, 使其不可用
|
|
|
+func disableEth0() error {
|
|
|
+ iface, err := net.InterfaceByName("eth0")
|
|
|
if err != nil {
|
|
|
- return fmt.Errorf("获取网络接口列表失败: %w", err)
|
|
|
+ return fmt.Errorf("未找到网口\"eth0\": %w", err)
|
|
|
}
|
|
|
|
|
|
- for _, iface := range ifaces {
|
|
|
- if !strings.HasPrefix(iface.Name, "eth") || iface.Name == "usb0" {
|
|
|
- continue
|
|
|
- }
|
|
|
-
|
|
|
- cmd := exec.Command("ip", "link", "set", "dev", iface.Name, "down")
|
|
|
- cmd.Stdout = baseapp.Logger.WriterLevel(logrus.DebugLevel)
|
|
|
- cmd.Stderr = baseapp.Logger.WriterLevel(logrus.ErrorLevel)
|
|
|
- if err := cmd.Run(); err != nil {
|
|
|
- return fmt.Errorf("关闭网口\"%s\"失败: %w", iface.Name, err)
|
|
|
- }
|
|
|
+ cmd := exec.Command("ip", "link", "set", "dev", iface.Name, "down")
|
|
|
+ cmd.Stdout = baseapp.Logger.WriterLevel(logrus.DebugLevel)
|
|
|
+ cmd.Stderr = baseapp.Logger.WriterLevel(logrus.ErrorLevel)
|
|
|
+ if err := cmd.Run(); err != nil {
|
|
|
+ return fmt.Errorf("关闭网口\"%s\"失败: %w", iface.Name, err)
|
|
|
}
|
|
|
|
|
|
return nil
|
|
|
@@ -214,7 +208,7 @@ func monitorUSB0Udhcpc(exitCh <-chan struct{}) {
|
|
|
bExists, _ := udhcpcUSB0Exists()
|
|
|
if !bExists { // 清场一次
|
|
|
killAllUdhcpc()
|
|
|
- disableEthButUSB0()
|
|
|
+ disableEth0()
|
|
|
}
|
|
|
if !bExists && dialupUSB0() == nil { // 重新进场
|
|
|
ip, mask, _ := getUSB0Addr()
|