Linux (eg. eth0:0, eth0:1)
では、単一のインターフェイスに複数のIPアドレスを使用できます。しかし、DHCPと静的IPを同時に使用できますか? eth0:1
には静的IPアドレスがあり、eth0:0
にはDHCPを使用して構成する必要があります。
どうすれば両方を達成できますか?
はい、これを行うことができます。ただし、これには通常、eth0:0およびeth0:1の代わりにeth0およびeth0:0を使用します。次のように/ etc/network/interfacesファイルを設定できます。
auto lo eth0 eth0:0
iface lo inet loopback
iface eth0 inet dhcp
iface eth0:0 inet static
address ...
netmask ...
おそらく、eth0:0インターフェイスにゲートウェイを設定したくないのは、DHCPから取得したゲートウェイ設定と競合する可能性があるためです。/etc/network/interfacesに手動設定を入力する場合、network-managerが設定を管理しようとしていないことを確認する必要があります。これは ここで説明 です。
同じ問題に対する答えを集中的に検索した後、Network Managerが接続を管理し続けることができるソリューションを考え出しました。最初に、[接続の編集]> [追加]を使用して、通常Network ManagerでDHCP接続を作成します。これにより、/ etc/NetworkManager/system-connections /にファイルが作成されます。このファイルをスーパーユーザー権限でテキストエディターで開きます。例:Sudo nano/etc/NetworkManager/system-connections/DHCPEthernet
コードは次のようになります。
[802-3-ethernet]
duplex=full
mac-address=00:0E:C6:88:31:43
[connection]
id=DHCPEthernet
uuid=26af83f1-c48c-4454-9038-bbb4bec3e3a3
type=802-3-ethernet
timestamp=1405008541
[ipv6]
method=auto
[ipv4]
method=auto
追加する静的IPアドレスの行をipv4セクションの下に追加します。この例では、ゲートウェイなしで192.168.10.1を使用しています
address1=192.168.10.1/24,0.0.0.0
ファイルを保存し、Network Managerを使用してネットワークから切断してから再接続します。 pingを実行すると、両方のIPアドレスが適切に機能することが確認されます。 ip addrからの出力は成功を確認します。
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope Host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope Host
valid_lft forever preferred_lft forever
2: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 14:10:9f:d7:22:0b brd ff:ff:ff:ff:ff:ff
inet 172.20.1.71/24 brd 172.20.1.255 scope global wlan0
valid_lft forever preferred_lft forever
inet6 fe80::1610:9fff:fed7:220b/64 scope link
valid_lft forever preferred_lft forever
3: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0e:c6:88:31:43 brd ff:ff:ff:ff:ff:ff
inet 172.20.1.60/24 brd 172.20.1.255 scope global eth2
valid_lft forever preferred_lft forever
inet 192.168.10.1/24 brd 192.168.10.255 scope global eth2
valid_lft forever preferred_lft forever
inet6 fe80::20e:c6ff:fe88:3143/64 scope link
valid_lft forever preferred_lft forever
少し調べてみたところ、最近ではnmcli
ツールを使用してこの構成を作成できることがわかりました。実際、NetworkManagerを完全に制御できます。 nmcliのマニュアルページは非常に詳細でわかりやすいものです。 man nmcli
およびman nm-settings
を参照してください。
この質問の構成をセットアップするための最も簡単な方法は、現在の接続プロファイルを編集することです。 GUI NetworkManagerツールからプロファイルの名前を見つけ、CLIエディターを使用して編集します(ここで名前はEthernet connection
です):
$ Sudo nmcli c edit 'Ethernet connection' === | nmcliインタラクティブ接続エディター| === 既存の「802-3-ethernet」接続の編集:「イーサネット接続1」 「help」または「 ?」 「describe [。]」と入力して、プロパティの詳細を説明します。 次の設定を編集できます:connection、802-3-ethernet(ethernet)、802 -1x、dcb、ipv4、ipv6 nmcli> goto ipv4 次のプロパティを編集できます:method、dns、dns-search、dns-options、dns-priority、addresss、gateway、routes、route-metric、ignore-auto-routes、ignore-auto-dns、 dhcp-hostname、dhcp-send-hostname、never-default、may-fail、dad-timeout、dhcp-timeout、dhcp-client-id、dhcp-fqdn nmcli ipv4> ipv4.addresses {your_address_here}/{your_network_prefix_here}を設定します 「ipv4.method」を「manual」に設定しますか? [はい]: 番号 nmcli ipv4> セーブ 接続「イーサネット接続」(87fa8e41-7fe3-435a-a2f2-29a9c8084d2d)は正常に更新されました。 nmcli ipv4> 終了する
太字の部分は入力です。中括弧で囲んだ部分を設定に置き換えます。 ipv4.method
に関する質問にno
と答えると、DHCP構成が保持されます。あとで、構成を無効にしてから再度有効にする必要があります。これは、GUIツールまたはnmcliを使用して実行できます。
必要に応じて、コマンドラインから新しい接続を作成することもできます。
Sudo nmcli -p connection add type ethernet ifname {your_interface_name} con-name MyConnection -- ipv4.addresses {your_address}/{your_prefix_length} ipv4.method auto
繰り返しますが、中括弧で囲んだものを設定に置き換えてください。
最後に、設定ファイルを編集したい場合は、編集後にファイルをリロードすることを忘れないでください:
Sudo nmcli connection reload
この方法で作成された構成は、GUIツールを混乱させる可能性があることに注意してください。せいぜい、彼らは静的アドレスを表示しません。