Chỉnh sửa giao diện mạng mà không cần khởi động lại hệ thống


23

Tôi muốn thực hiện một số thay đổi đối với cấu hình mạng của mình bằng cách chỉnh sửa /etc/network/interfacestệp của mình . Cách sạch nhất để thay đổi tập tin này và có hiệu lực mà không cần phải khởi động lại? Thông thường, tôi đã và đang làm:

  1. Chỉnh sửa tập tin
  2. service networking restart

Nhưng tôi có ấn tượng rằng đây không phải là cách "đúng" để thực hiện những thay đổi này.


khởi động lại mạng dịch vụ gần như = /etc/init.d/networking restart.
shantanu

Câu trả lời:


11

Tắt giao diện mạng bằng cách sử dụng

sudo ifdown eth0

(thay thế eth0bằng giao diện bạn muốn thay đổi) và đưa nó lên một lần nữa bằng cách sử dụng

sudo ifup eth0

4
Điều này đã không làm việc cho tôi. Nó chỉ cho tôi một lỗi "eth0 không được cấu hình". Tôi đã phải khởi động lại hệ thống để thay đổi có hiệu lực vào ngày 12.04.
JohnMerlino

4

Trong Ubuntu Server 16.04, bạn phải sử dụng lệnh ip để xóa địa chỉ trước khi khởi động lại mạng, nếu không, mọi thay đổi địa chỉ trong tệp giao diện sẽ không có hiệu lực:

$ sudo ip addr flush interface-name
$ sudo systemctl restart networking

Tôi đã nhận được câu trả lời từ bài viết hữu ích này


Hoàn hảo, đây sẽ là câu trả lời cho câu hỏi.
vẽ

2

Dừng tất cả các giao diện bằng cách sử dụng

sudo /etc/init.d/networking stop

Định cấu hình (chỉnh sửa) giao diện của bạn theo ý muốn, sau đó

Bắt đầu lại

sudo /etc/init.d/networking start

Không cần phải khởi động lại.


3
Điều này không hoạt động trong Ubuntu 12.04. Chỉ có hệ thống khởi động lại làm việc.
JohnMerlino

0

Tại sao bạn không nghĩ rằng đó là cách đúng đắn. Hãy suy nghĩ, ubfox có thể làm gì thêm trong quá trình khởi động? Ubuntu có một danh sách các dịch vụ cần chạy trong quá trình khởi động, mỗi dịch vụ có một danh sách các lệnh liên tiếp để tự khởi động. Ubuntu chỉ chạy dịch vụ mạng thông qua /etc/init.d/networking script chứa một số lệnh cần chạy dịch vụ mạng. Vì vậy, nếu có bất kỳ thay đổi nào cần áp dụng cho mạng của bạn thì bạn phải khởi động lại dịch vụ của mình và cách đó là gọi lại các lệnh liên tiếp của dịch vụ.


Bởi vì việc khởi động lại được đảm bảo để xóa tất cả các giao diện mà tôi đã thiết lập và tôi lo ngại rằng nếu tôi xóa một giao diện khỏi tệp giao diện của mình, thì việc khởi động lại tập lệnh mạng sẽ không bị loại bỏ.
Lorin Hochstein

bạn có chắc không? mọi thay đổi trong mạng đều được thực hiện với tôi với sudo /etc/init.d/networking restart.
shantanu

Ví dụ: nếu tôi tạo một vlan được gắn thẻ (ví dụ: eth0.123), nó dường như không tự động bị phá hủy khi tôi khởi động lại mạng
Lorin Hochstein

sudo eth0 xuống --- sudo eth0 lên
shantanu

/etc/init.d/networking đọc lại tất cả các tệp cấu hình mạng và cập nhật tất cả các cài đặt, tại sao nó phải phá hủy giao diện đã tạo? nếu bạn thay đổi ip hoặc dns của bạn hoặc loại thông tin này thì / etc / ... là đủ, nếu bạn tạo một lan ảo thì bạn phải khởi động lại giao diện ethernet của mình (sudo eth0 xuống rồi sudo eth0 lên).
shantanu


0

Trên thực tế không ai trong số này làm việc. Đã thử nghiệm trên Ubuntu 16.10. Chúng không có tác dụng.

  • ifdown ske3 và ifup ske3
  • dừng dịch vụ và bắt đầu
  • tải lại mạng dịch vụ
  • systemctl dừng mạng.service và sau đó bắt đầu lại.

Thông qua tất cả các ip dhcp cũ đã trở lại và không tĩnh. tôi tự hỏi nếu điều này là cố ý?

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.