Giải quyết các câu trả lời của RTNETLINK: Tập tin tồn tại trong khi chạy ifup


43

Tôi gặp vấn đề này khi nhận được khóa Wi-Fi mới và đã thấy một vài người có cùng vấn đề. Về cơ bản khi tôi có một giao diện được cấu hình và muốn trao đổi với giao diện khác, nó sẽ xuất hiện lỗi này:

Câu trả lời RTNETLINK: Tệp tồn tại
Không thể hiển thị eth0

hoặc một cái gì đó tương tự.

/etc/network/interfaces tập tin:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 192.168.1.2
    netmask 255.255.255.0
    gateway 192.168.1.1

iface wlan0 inet static
    address 192.168.1.3
    netmask 255.255.255.0
    gateway 192.168.1.1

1
Bạn không thể có nhiều hơn một cổng mặc định trên Linux. Cụ thể, bạn không thể có cùng một cổng mặc định trên hai giao diện khác nhau. Và bạn không thể có cùng một mạng trên hai giao diện khác nhau.
ceving

@ceving không có vấn đề gì khi có hai giao diện trong cùng một mạng. Cũng không có vấn đề gì nếu hai giao diện này có cùng một cổng. Bảng định tuyến được phân tích cú pháp một cách nghiêm ngặt và bạn có thể tưởng tượng các mục đang được destination IP -> interface. Do đó, nó sẽ được gửi đến cổng thông qua giao diện mà nó phân tích cú pháp đầu tiên (từ dưới cùng) trong bảng định tuyến.
George

nếu giao dịch với IPV6 luôn thêm chiều dài mạng: xxxx: xxxx: ... :: 1/64 trên địa chỉ
fcm

Câu trả lời:


46

Nếu giải pháp được cung cấp bởi @ theoB610 vẫn không hoạt động, thì bạn có thể phải xả wlan0thiết bị trước ifupifdown.

sudo ip addr flush dev wlan0

Đây là một vấn đề không quá cụ thể đối với Raspberry Pi, một vấn đề tương tự đã xảy ra và đã được giải quyết trong các mạng có dây ở đây (từ đó tôi đã đưa ra giải pháp cho vấn đề của mình với Pi).


1
Tôi đã gặp vấn đề này trên máy chủ HP ProLiant (!) Và điều này đã khắc phục nó.
sudo

1
Giải pháp tuyệt vời. Vấn đề cơ bản là một số cấu hình trước đó, tự động hoặc thủ công (như chạy ifconfig từ dòng cmd) vẫn còn tồn tại. Lệnh tuôn ra sửa chữa tình huống đó.
kmarsh

1
Tôi đã gặp sự cố này khi có /etc/sysconfig/network-scripts/ifcfg-*các tệp không đúng định dạng do NetworkManager không thích một số thiết lập và tạo tệp thay thế, do đó tạo ra nhiều tệp bổ sung và gây ra lỗi RTNETLINK answers: File exists. Loại bỏ những cái bị hỏng (những cái không hiển thị như một hồ sơ) dường như là một sửa chữa.
Wilf

2
Không bao giờ sao chép-dán này trên một máy chủ sản xuất. Tôi đã thay thế wlan0 bằng eth0 và giao diện bị hỏng ngay lập tức và không muốn quay lại.
Fusseldieb

1
Điều thú vị là không ai cung cấp đơn giản nhất và theo phương pháp an toàn nhất theo quy tắc : reboot. Ví dụ, với giao diện lộn xộn, tôi gặp sự cố - giao diện / IP của tôi bị hỏng và tôi chỉ có thể kết nối trực tiếp trên bàn điều khiển ... vì vậy, khởi động lại luôn là cách phù hợp với tôi.
stamster

24

Tôi nghĩ rằng một giải pháp có thể được tìm thấy trong Giải quyết các câu trả lời RTNETLINK: Tập tin tồn tại trước khi chạy ifup (weblog của Lennart); Nó chắc chắn đã sửa nó cho tôi.

Về cơ bản, bạn chỉ có thể có một cổng được gán trong tệp giao diện của mình. Xóa mọi dòng trùng lặp xác định cổng để nó chỉ xuất hiện một lần.

Tệp sửa đổi / etc / mạng / giao diện:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
    address 192.168.1.2
    netmask 255.255.255.0
    gateway 192.168.1.1

iface wlan0 inet static
    address 192.168.1.3
    netmask 255.255.255.0
    #gateway 192.168.1.1  <= Either comment or remove this line

Tất cả tín dụng cho Lennart để giải quyết vấn đề này!


Tình cờ gặp câu trả lời này qua Google. Đây là những gì hoạt động với tôi trên máy ảo Ubuntu trên Hyper-V
abhijit

8

Tôi đã giải quyết bằng cách:

sudo ifup --ignore-errors wlan0

sau lệnh này ifdown và ifup bắt đầu hoạt động đúng.


Điều này rất hữu ích sau khi "khởi động lại mạng dịch vụ" không thành công, cảm ơn. :)
Adambean

1

các bước:

1 kiểm tra-> ip route(nếu mặc định tuyến ip không phải là giao diện bạn yêu cầu, hãy làm theo bước 2d & 3)

2 sudo ip route del default(xóa giao diện mặc định đó)

3 sudo ip route add default via ip_address dev interface_name(thêm giao diện yêu cầu của bạn như thế này)


0

Trong trường hợp của tôi, tôi có một kết nối khác vẫn đang chạy - một khi tôi gỡ giao diện đó xuống bằng ifdown eth0, thì kết nối mà tôi quan tâm (wlan0) đã xuất hiện sạch sẽ.

Tôi không khuyên bạn nên sử dụng tùy chọn --ignore-error


0

Tôi tình cờ phát hiện ra điều này trong khi loay hoay với VMWare vCenter. Nếu bạn ở trên cùng một chiếc thuyền, bạn nên cài đặt VMWare Tools, perl và net-tools với trình quản lý gói của bạn trước khi tạo Mẫu / Ảnh chụp nhanh của VM.


-1

Buộc de / cấu hình

ifdown --force --verbose ethX && ifup --force --verbose ethX
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.