Làm cách nào để tôi gia hạn hợp đồng thuê DHCP?


56

Không thể khởi động lại, làm cách nào tôi có thể giải phóng và gia hạn hợp đồng thuê DHCP của mình? Sẽ rất hữu ích khi biết một GUI và phương thức đầu cuối.

Tôi đặc biệt muốn biết nếu có một phương tiện để làm điều này mà không yêu cầu quyền quản trị.

Câu trả lời:


18

Trong bộ chọn thả xuống mạng từ khay hệ thống, bạn có thể nhấn mạng mà bạn đã kết nối, điều này sẽ khiến người quản lý mạng yêu cầu thuê mới từ máy chủ DHCP.

văn bản thay thế

(Điều này cũng hoạt động cho các mạng có dây, nhưng tôi không nghĩ rằng nó hoạt động cho các kết nối PPP (băng thông rộng di động))


47

Để gia hạn hợp đồng thuê dhcp của bạn tại nhà ga:

sudo dhclient -r; sudo dhclient

10
Tôi nghĩ sudo service networking restartlà một cách tốt hơn để đi. Những gì bạn đề xuất đã không làm việc cho tôi trên hộp 11.10 với dhclient3. Thay vào đó, tôi đã kết thúc với hai máy khách DHCP đang chạy: một dhclient3và một dhclient. Xem ubuntuforums.org/showthread.php?t=1868368
Adam Monsen

@AdamMonsen Việc khởi động lại dịch vụ mạng có thực sự hoạt động với NetworkManager không?
rakslice

1
@AdamMonsen khởi động lại mạng dường như không gia hạn hợp đồng thuê dhcp cho tôi
dogmatic69

sudo service network-manager restarttrong máy tính để bàn Ubuntu 13.10 64 bit dường như khởi động lại chính xác các công cụ mạng và gia hạn hợp đồng thuê DCHP của tôi. (Từ Askubfox.com/a/230751/2273 )
Adam Monsen

4
Hữu ích cần biết để gỡ lỗi: trên Ubuntu 14.04 sudo service network-manager restartkhông gia hạn hoàn toàn việc cho thuê IP từ DHCP. Nó chỉ gửi một Requestgói DHCP thay vì a Discover. Nếu bạn chỉ muốn gia hạn hợp đồng thuê thì đã đủ, nhưng nếu bạn đang gỡ lỗi DHCP, bạn muốn sử dụng giải pháp ban đầu.
gerlos

31

Trong trường hợp của tôi, tôi phải chỉ định thẻ nào cần gia hạn:

Đầu tiên phát hành địa chỉ IP hiện tại:

sudo dhclient -r eth0

sau đó gia hạn địa chỉ IP

sudo dhclient eth0

3
Đây là câu trả lời đúng nếu bạn có nhiều hơn một giao diện.
Tek

Tốt hơn: Tham gia các lệnh bằng AND - sudo dhclient -r enp7s0 && sudo dhclient enp7s0(thay thế bằng thiết bị mạng eth của bạn)
bshea

Vui lòng chỉnh sửa câu trả lời này để tham gia cùng nhau, tôi vừa được khởi động một hộp từ xa để thử riêng chúng.
Graham Russell

8

Maverick đi kèm nmcli, giao diện dòng lệnh cho người quản lý mạng.

Tôi không thể thấy một cách đơn giản để bảo nó gia hạn hợp đồng, nhưng chạy:

nmcli con

Đưa cho bạn một danh sách kết nối và chạy:

nmcli con down id 'Connection Name'
nmcli con up id 'Connection Name'

Đưa kết nối xuống và sao lưu. Thay vào đó, có thể làm điều gì đó tương tự với thiết bị.

Danh sách kết nối dường như bao gồm tất cả các kết nối, do đó, điều này có thể cũng sẽ hoạt động với các kết nối PPTP và VPN.


1
Máy chủ DHCP của tôi vẫn hiển thị hợp đồng thuê ở đó ... (Tôi đang cố gắng buộc một bản phát hành để thực hiện chuyển nhượng tĩnh có hiệu lực)
Gert van den Berg

8

Điều này hoạt động trên Ubuntu 12.04 LTS:

sudo service network-manager restart

Khi tôi làm điều đó, Quản lý mạng yêu cầu thuê DHCP mới.

Tôi thích điều này để bắt đầu lại một cách thủ công dhclientvì tôi đã gặp sự cố bởi các quy trình cũ (không được quản lý bởi Trình quản lý mạng) tự động cấu hình lại các cài đặt mạng của tôi tại các điểm ngẫu nhiên khi thuận tiện nhất.


1
Vẫn có liên quan trên Ubuntu 16.04. dhclient -rchỉ âm thầm không làm gì với một mã thoát thành công khác. :-(
studog

Điều này làm việc tốt vào ngày 18.04!
Roel Van de Paar

3

Nếu bạn đang sử systemddụng phiên bản Ubuntu dựa trên mà không có GUI (tức là phiên bản máy chủ) thì đây là cách để gia hạn hợp đồng thuê DHCP:

sudo systemctl restart systemd-networkd

Lưu ý: Nếu bạn được kết nối qua giao diện có thuê DHCP mà bạn đang gia hạn, bạn có thể bị ngắt kết nối, trừ khi bạn được kết nối qua giao diện được cấu hình tĩnh hoặc bảng điều khiển.


Tôi đã thử nghiệm điều này với việc dhcpdumpnghe trên thiết bị đầu cuối khác. Dường như không hoạt động, chỉ có dhclientcách.
Pablo A

1

Vừa mới nâng cấp lên Maverick Meerkat Beta 1, một cái gì đó đã phá vỡ cấu hình vanilla eth0 tiêu chuẩn của tôi mà tôi chưa gỡ lỗi. Cách giải quyết nhanh và bẩn đã được

sudo dhclient

thông báo rằng đã có một khách hàng (có thể đã chết) và có được hợp đồng thuê mới:

There is already a pid file /var/run/dhclient.pid with pid 2436
killed old client process, removed PID file
Internet Systems Consortium DHCP Client V3.1.3
Listening on LPF/eth0/00:1a:92:24:9c:85
Sending on   LPF/eth0/00:1a:92:24:9c:85
Sending on   Socket/fallback
DHCPDISCOVER on vboxnet0 to 255.255.255.255 port 67 interval 3
DHCPREQUEST of 192.168.2.2 on eth0 to 255.255.255.255 port 67
DHCPACK of 192.168.2.2 from 192.168.2.1
bound to 192.168.2.2 -- renewal in 118389830 seconds.

Đây không phải là một sửa chữa, chỉ là một hack. Tôi sẽ theo dõi khi tôi thấy điều gì xấu đi.


1

Thiếu khả năng cụ thể này thông qua nmcli, tôi tin rằng giải pháp CLI tốt nhất là giải phóng và tiêu diệt cá thể pháp lý được quản lý bởi NetworkManager, thay vì bắt đầu một giải pháp mới. Sau đó, NM sẽ tự động đưa nó trở lại một lần nữa, tránh phải khởi động lại toàn bộ cơ sở hạ tầng của NM.

sudo dhclient -v -r -pf /run/sendsigs.omit.d/network-manager.dhclient-eth0.pid
  • -v - làm cho dài dòng
  • -r - phát hành và tắt
  • -pf - tập tin pid của trường hợp của NM
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.