設定網際網路連線過不了關?

35 views
Skip to first unread message

merto...@gmail.com

unread,
Nov 11, 2018, 2:33:20 AM11/11/18
to Arch Linux TW 討論群組
設定網際網路連線過不了關?
root@archiso ~ # ifconfig
enp3s0
root@archiso ~ # vim /etc/dhcpcd.conf
# define static profile
interface enp3s0
static ip_address=203.74.114.112
static routers=192.168.1.1
static domain_name_servers=192.168.1.1
# fallback to static profile on eth0
interface eth0
fallback static_eth0

重新啟動 dhcpcd 服務
root@archiso ~ # systemctl restart dhcpcd
測試網路是否正常
root@archiso ~ # ping 8.8.8.8
connect: Network is unreachable
root@archiso ~ # ping www.google.com
ping www.google.com: Temporary failure in name resolution

請問哪邊出問題?
謝謝您的回答。

KY Chou

unread,
Nov 11, 2018, 3:38:36 AM11/11/18
to Arch Linux TW 討論群組
Hello,

`/etc/dhcpcd.conf` 的檔案有一些地方有誤:

1. 一般 fallback profile
是用在可能有多種網路組態套用在一個介面卡上(例如先以 dhcp 動態設定,如果沒有
dhcp offer 回應,則 fallback 到靜態 IP 設定,之類的情況)。因此在你固定 IP
的環境,是不需要設定 fallback profile 的(Note: 維基上的 "eth0"
是泛指有線介面卡的名稱,在你的環境下應該會是 "enp3s0")。
2. IP address, router (gateway), 和 DNS server 的組合不太對。假設你的
gateway (即設定檔中的 routers) 和 DNS server 是 192.168.1.1
的話,則電腦本身的 IP 位址必須也要和 gateway 在同一個網段內,否則它會找不到
gateway,而不知道該把封包送去哪裡。建議可以在設定檔的 IP address
後面加上網段遮罩方便了解。

因為我也不太清楚你那邊的網路環境,因此詳細設定的細節可能會需要詢問你的
ISP。不過設定檔大致上可能會長得類似這樣(假設 gateway 跟 DNS server 都是
192.168.1.1 的話,遮罩位元數會是 >= 16):

```
# define static profile
interface enp3s0
static ip_address=192.168.?.?/?
static routers=192.168.1.1
static domain_name_servers=192.168.1.1
```

另外,重新啟動服務之後,可以先用 `systemctl status dhcpcd`
來確認服務狀態是否正常,如果服務重啟失敗,大部分的服務會輸出一些錯誤訊息,比較容易找出問題的來源。

如果對網路概念不太清楚的話,以下一些資源可以參考看看。
study area (中文): http://www.study-area.org/network/networkfr1.htm
鳥哥 (中文): http://linux.vbird.org/linux_server/0110network_basic.php
networkcomputing (英文):
https://www.networkcomputing.com/network-security/ip-addresses-subnet-masks-and-default-gateways/1835691346

加油~

Regards,
Kuan-Yen Chou
Reply all
Reply to author
Forward
0 new messages