差異處
這裏顯示兩個版本的差異處。
Both sides previous revision 前次修改 下次修改 | 前次修改 | ||
osprovision:kickstart:rhel_centos:networkproblem:dhcptimeout_rhel_7 [2016/10/04 14:11] tony [How to resolve?] |
osprovision:kickstart:rhel_centos:networkproblem:dhcptimeout_rhel_7 [2023/06/25 09:48] (目前版本) |
||
---|---|---|---|
行 1: | 行 1: | ||
{{tag>RHEL CentOS kickstart Os_Provision}} | {{tag>RHEL CentOS kickstart Os_Provision}} | ||
- | ====== DHCP Timeout設定 ====== | + | ====== RHEL/CentOS7在執行kickstart安裝時的DHCP Timeout設定 ====== |
===== Problem ===== | ===== Problem ===== | ||
本篇主要說明如何在RHEL/CentOS7上設定DHCP Timeout。首先在安裝系統或找某個既有系統,觀察某張抓不到DHCP網卡的log:\\ | 本篇主要說明如何在RHEL/CentOS7上設定DHCP Timeout。首先在安裝系統或找某個既有系統,觀察某張抓不到DHCP網卡的log:\\ | ||
行 6: | 行 6: | ||
以上圖測試結果,並且確認過Anaconda的source code,可以得知預設timeout為45秒。在寫本篇文章之前,已經試過了以下幾種方式且失敗: | 以上圖測試結果,並且確認過Anaconda的source code,可以得知預設timeout為45秒。在寫本篇文章之前,已經試過了以下幾種方式且失敗: | ||
- kickstart中加入--dhcptimeout。 | - kickstart中加入--dhcptimeout。 | ||
- | - 在/etc/dhclient.conf加入timeout。 | + | - 在/etc/dhclient.conf與/etc/dhcp/dhclient.conf加入timeout。 |
- 在NetworkManager.conf加入ipv4.dhcp-timeout設定。 | - 在NetworkManager.conf加入ipv4.dhcp-timeout設定。 | ||
- 也透過nmcli試圖修改ipv4.dhcp-timeout設定,但在CentOS7.2上找不到此設定。 | - 也透過nmcli試圖修改ipv4.dhcp-timeout設定,但在CentOS7.2上找不到此設定。 | ||
行 13: | 行 13: | ||
經由尋找解答與測試過程中,得知RHEL/CentOS7的安裝環境,網路是透過NetworkManager控制與設定:\\ | 經由尋找解答與測試過程中,得知RHEL/CentOS7的安裝環境,網路是透過NetworkManager控制與設定:\\ | ||
{{:osprovision:kickstart:rhel_centos:networkproblem:centos7_nm_dhclient_cmdline.png|}}\\ | {{:osprovision:kickstart:rhel_centos:networkproblem:centos7_nm_dhclient_cmdline.png|}}\\ | ||
- | \\而在網卡還沒正常啟動前,NetworkManager每隔一段時間就會透過dhclient重新偵測此網卡。假如你的DHCP Server有機會能在45秒內完成配置,那就不會有問題;如果不行,那請繼續看下去。經過研究一番,我在[[https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7-Beta/html/7.3_Release_Notes/new_features_networking.html|RHEL7.3 beta release note]]中,發現是可以在ifcfg設定檔中,加入IPV4_DHCP_TIMEOUT設定dhcp timeout: | + | 而在網卡還沒正常啟動前,NetworkManager每隔一段時間就會透過dhclient重新偵測此網卡。假如你的DHCP Server有機會能在45秒內完成配置,那就不會有問題;如果不行,那請繼續看下去。經過研究一番,我在[[https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7-Beta/html/7.3_Release_Notes/new_features_networking.html|RHEL7.3 beta release note]]中,發現是可以在ifcfg設定檔中,加入IPV4_DHCP_TIMEOUT設定dhcp timeout: |
<code> | <code> | ||
DHCP timeout in NetworkManager is configurable | DHCP timeout in NetworkManager is configurable | ||
行 25: | 行 25: | ||
dhclient eno1 -timeout 90 | dhclient eno1 -timeout 90 | ||
</code> | </code> | ||
+ | 目前我的做法是在kickstart %pre中使用dhclient。而做這些動作前,請記得先檢查網路線是否有插。([[linux:shell_script:get_local_ip|檢查網路線狀態]]) | ||
===== Refference ===== | ===== Refference ===== | ||
* [[https://github.com/rhinstaller/anaconda/blob/567dca6671226e38cd249a642585d00446a12231/pyanaconda/network.py|Github - Anaconda - network]] | * [[https://github.com/rhinstaller/anaconda/blob/567dca6671226e38cd249a642585d00446a12231/pyanaconda/network.py|Github - Anaconda - network]] |