1つのインターフェイスでDHCPと静的IPアドレスの両方が同時に


16

Linuxでは、単一のインターフェイスに複数のIPアドレスを使用できます(eg. eth0:0, eth0:1)。しかし、DHCPと静的IPを同時に使用できますか?eth0:1静的IPアドレスを持ち、eth0:0DHCPを使用して構成する必要があります。

どうすれば両方を達成できますか?


NetworkManagerの構成に関する質問ですか?
マドネオン

回答:


13

はい、これを行うことができます。ただし、これには通常、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が設定を管理しようとしていないことを確認する必要があります。これはここカバーされます


9

同じ問題に対する答えを集中的に検索した後、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

address1ipv4.addressesAPIまたはnmcliを使用している場合、ここにある設定は実際にはNetworkManager の設定です。この場合、ipv4.method「auto」に設定したままにする必要もあります。
デイブ

接続を正常に作成した後、/ etc / NetworkManager / system-connections /ディレクトリにファイルがまだありません。それらはどこかに保管されていますか?たぶんSELinuxのことですか?
スティーブヨルゲンセン

2

少し調べてみたところ、最近ではこのnmcliツールを使用してこの構成を作成できることがわかりました。実際、NetworkManagerを完全に制御できます。nmcliのマニュアルページは非常に詳細でわかりやすいものです。man nmcliおよびを参照してくださいman nm-settings

この質問の構成をセットアップするための最も簡単な方法は、現在の接続プロファイルを編集することです。GUI NetworkManagerツールからプロファイルの名前を見つけて、CLIエディターを使用して編集します(ここでの名前は次のとおりですEthernet connection)。

$ sudo nmcli c edit 'Ethernet connection'

=== | nmcliインタラクティブ接続エディター| ===

既存の「802-3-ethernet」接続の編集:「Ethernet connection 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> set ipv4.addresses {your_address_here} / {your_network_prefix_here} 
「ipv4.method」を「manual」に設定しますか?[はい]:
nmcli ipv4> no save
接続 'Ethernet接続'(87fa8e41-7fe3-435a-a2f2-29a9c8084d2d)は正常に更新されました。
nmcli ipv4> 終了

太字の部分は入力です。中括弧で囲んだ部分を設定に置き換えます。DHCP構成を保持noすることに関する質問に答えると、ipv4.methodその後、構成を無効にしてから再度有効にする必要があります。これは、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ツールを混乱させる可能性があることに注意してください。せいぜい、彼らは静的アドレスを表示しません。


0

Debian Buster / 10 NetworkManager nm-connection-editorは、グラフィカルユーザーインターフェイスからこれを実行できるようになりました。

接続を編集し、「IPv4設定」タブを開いてから、次の操作を行います。

  1. [方法]を[自動(DHCP)]に設定します。
  2. 以下に「追加の静的アドレス」を追加します。

これにより、次の設定が書き込まれます/etc/NetworkManager/system-connections/connection.nmconnection

[ipv4]
address1=10.0.0.1/24
method=auto
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.