我的 Kali Linux 遇到問題。
使用以下命令更改 IP 位址後,我無法連接到網路:
ifconfig eth0 198.168.198.130 netmask 255.255.255.0 up
之後,當我打開iceweasel
瀏覽器時,它顯示
cannot connect to server
check your internet connection
我該如何解決這個問題(並且我忘記了我的舊IP位址)?
答案1
對於「正常」網路連接,您基本上需要三件事:
A有效的IP位址
一個網關,為您提供與「網際網路」的連接
將主機名稱(例如
unix.stackexchange.com
)解析為 IP 位址的名稱伺服器。
IP位址
您不能選擇任意IP位址;相反,您必須根據您的本地網路拓撲選擇一種。例如,如果您位於子網路中198.168.198.0/24
,則可以選擇198.168.198.130
,但不能選擇8.8.4.4
。
確保您選擇的 IP 位址確實有效(「聯絡您的網路管理員」:-))
此外,您還必須確保您的 IP 對您的本機網路來說是唯一的,例如,您不能擁有兩個具有相同 IP 位址的主機(再次「聯絡您的網路管理員」)
這是您到目前為止已完成的步驟。
閘道
網路流量必須傳送到網關,該網關知道如何將其進一步分發到「網際網路的其餘部分」。手動設定 IP 位址時,您還必須手動設定gateway
與路由器的網路連線。
就像是:
# route add default gw 192.168.198.1
路由器的實際 IP 位址取決於網路(但對於像您這樣的專用網絡,通常是這樣<network>.1
)。
如果您正確設定了網關,您應該已經具有完整的 Internet 連接,即:您應該能夠存取任何(可存取的)伺服器。您可以透過嘗試ping
遠端 IP 位址來確認它是否正常運作:
$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=50 time=51.6 ms
(但請注意,某些網路管理員喜歡使用防火牆封鎖 ping 要求)。
域名系統
即使您已連接到網際網路,您可能仍然無法使用firefox/iceweasel
,只是因為您的系統尚不知道如何將類似名稱unix.stackexchange.com
轉換為 IP 位址。
您還必須指定名稱伺服器。這可以在檔案中配置/etc/resolv.conf
。
例如,以下內容將配置您的系統以使用 Google 的公共名稱伺服器進行 DNS 解析:
# echo "nameserver 8.8.8.8" > /etc/resolv.conf
將使您的系統使用 IP 位址的名稱伺服器8.8.8.8
。現在您應該能夠使用域名,並且一切都應該正常工作:
$ ping unix.stackexchange.com
PING unix.stackexchange.com (198.252.206.16) 56(84) bytes of data.
64 bytes from stackoverflow.com (198.252.206.16): icmp_seq=1 ttl=53 time=146 ms
只需使用 DHCP
許多網路透過以下方式提供客戶端網路配置動態主機配置協定,它將自動為您的電腦提供有關要使用的 IP 位址、網路遮罩、網關和名稱伺服器的資訊。
您可以重新觸發此過程(前提是是網路中的 DHCP 伺服器)透過運作:
# dhclient -v