如何在 ubuntu 16.04.1 LTS 伺服器上啟用 IPv4

如何在 ubuntu 16.04.1 LTS 伺服器上啟用 IPv4

我的 ubuntu 16.04.1 LTS 主機上執行 VirtualBox。我建立了一個新的虛擬機器並將網路類型設定為「橋接適配器」。然後,我在用戶端上安裝了 16.04.1 LTS,但無法從它連接到任何外部 IPv4 位址。

當我執行“ifconfig”時,我只能看到我的 IPv6 位址。

$ ifconfig enp0s3
enp0s3    Link encap:Ethernet  HWaddr xx:xx:xx:xx:xx:xx  
          inet6 addr: fd00:xx:xx:xx:xx:xx:xx:xx/64 Scope:Global
          inet6 addr: fe80::xx:xx:xx:xx/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:933 errors:0 dropped:0 overruns:0 frame:0
          TX packets:751 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:101012 (101.0 KB)  TX bytes:144480 (144.4 KB)

我可以使用 IPv6 位址從主機透過 SSH 連接到訪客。我發現問題,但我沒有安裝網路管理員(並且在 IPv4 正常工作之前無法安裝它),並且唯一的其他命令“sudo ip link set enp0s3 up”沒有幫助。另外,問題沒有提到 WiFi,但答案似乎假設是這種情況,而且我使用的是有線連接而不是 WiFi。

我的 /etc/network/interfaces 檔案非常通用,但註解確實表明它是一個 IPv6 介面。也就是說,我不明白為什麼會出現這種情況; IPv4 的所有參數都是正確的。

$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
# This is an autoconfigured IPv6 interface
auto enp0s3
iface enp0s3 inet dhcp

請注意,在我的 neworking.service 狀態中,開始提高網路服務與實際執行之間有 5 分鐘的間隔。我不確定那裡發生了什麼事。

$ systemctl status networking.service
● networking.service - Raise network interfaces
   Loaded: loaded (/lib/systemd/system/networking.service; enabled; vendor preset: enabled)
  Drop-In: /run/systemd/generator/networking.service.d
           └─50-insserv.conf-$network.conf
   Active: active (exited) since Wed 2017-06-14 09:33:00 EDT; 55min ago
     Docs: man:interfaces(5)
  Process: 2335 ExecStart=/sbin/ifup -a --read-environment (code=exited, status=0/SUCCESS)
  Process: 1947 ExecStartPre=/bin/sh -c [ "$CONFIGURE_INTERFACES" != "no" ] && [ -n "$(ifquery --read-environment --list --exclude=
 Main PID: 2335 (code=exited, status=0/SUCCESS)
    Tasks: 0
   Memory: 0B
      CPU: 0
   CGroup: /system.slice/networking.service

Jun 14 09:27:58 chris-ubuntu systemd[1]: Starting Raise network interfaces...
Jun 14 09:28:01 chris-ubuntu ifup[2335]: /sbin/ifup: waiting for lock on /run/network/ifstate.enp0s3
Jun 14 09:33:00 chris-ubuntu systemd[1]: Started Raise network interfaces.

當我手動運行 dhclient 時,它掛起。 Syslog 包含以下日誌:

Jun 14 10:39:13 chris-ubuntu dhclient[3061]: DHCPDISCOVER on enp0s3 to 255.255.255.255 port 67 interval 10 (xid=0x4dfcbf2b)
Jun 14 10:39:16 chris-ubuntu dhclient[2377]: DHCPDISCOVER on enp0s3 to 255.255.255.255 port 67 interval 4 (xid=0x25d1c331)
Jun 14 10:39:20 chris-ubuntu dhclient[2377]: No DHCPOFFERS received.
Jun 14 10:39:20 chris-ubuntu dhclient[2377]: No working leases in persistent database - sleeping.
Jun 14 10:39:23 chris-ubuntu dhclient[3061]: DHCPDISCOVER on enp0s3 to 255.255.255.255 port 67 interval 15 (xid=0x4dfcbf2b)

這看起來很奇怪,因為主機 VirtualBox 充當 DHCP 伺服器,所以它應該會回應。

答案1

您不需要 IPv4。上面的配置有點奇怪。 (沒有公共 IPv6 位址)。我向網路管理員提出的第一個問題是:你們提供網路代理嗎?因此,您可以更改代理設置,包括訪問僅 ipv4 主機。但我更喜歡 IPv6 全球單播位址。在這種情況下,DNS (DNS64/NAT64) 可以解決問題。代理也會有類似的效果。

相關內容