Linuxシステム(カスタムディストリビューション、Debianベース)の物理ネットワークカードに仮想ネットワークアダプタを作成するには、簡単に見える操作にいくつかの問題があります。
走れば
ifconfig eth0:1 10.50.55.130 netmask 255.255.255.0
すべてがうまくいった。仮想ネットワークカードが自動的に追加され、によって正しく表示されましたifconfig
。
この仮想ネットワークカードの定義をここに表示したいです/etc/network/interfaces
。次のセクションを追加しました。
# virtual NIC
# auto eth0:1
iface eth0:1 inet static
address 10.50.55.130
netmask 255.255.255.0
最初の行はコメントアウトされました。これまでは、システムがネットワークインタフェースを自動的に起動することに興味がなかったためです。
すべてが大丈夫に見えます。
しかし、実行するとifup eth0:1
わかりますSIOCSIFFLAGS: Cannot assign requested address
。
本当に理解できないのは、仮想ネットワークカードが実際に作成されることです。これが出力ですifconfig
。
can0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00- 00-00-00
UP RUNNING NOARP MTU:16 Metric:1
RX packets:1206446 errors:0 dropped:0 overruns:0 frame:0
TX packets:193280 errors:0 dropped:12 overruns:0 carrier:12
collisions:0 txqueuelen:10
RX bytes:7645126 (7.2 MiB) TX bytes:1393003 (1.3 MiB)
Interrupt:68
can1 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
UP RUNNING NOARP MTU:16 Metric:1
RX packets:299171 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:10
RX bytes:2393368 (2.2 MiB) TX bytes:0 (0.0 B)
Interrupt:71
eth0 Link encap:Ethernet HWaddr 98:5d:ad:c2:30:30
inet addr:10.90.100.43 Bcast:0.0.0.0 Mask:255.255.248.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1560275 errors:0 dropped:1 overruns:0 frame:0
TX packets:790 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:96964255 (92.4 MiB) TX bytes:176882 (172.7 KiB)
Interrupt:56
eth0:1 Link encap:Ethernet HWaddr 98:5d:ad:c2:30:30
inet addr:10.50.55.130 Bcast:10.50.55.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:56
eth1 Link encap:Ethernet HWaddr 98:5d:ad:c2:30:32
inet addr:169.254.8.141 Bcast:169.254.255.255 Mask:255.255.0.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:140932 errors:0 dropped:0 overruns:0 frame:0
TX packets:140932 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:8522761 (8.1 MiB) TX bytes:8522761 (8.1 MiB)
このエラーが発生するのはなぜですか?それとも…NICを作るのはなぜですか?
ifup -f eth0:1
強制オプションを使用して呼び出すと、エラーメッセージが表示されず、仮想ネットワークアダプタが正常に起動することを追加する必要があります。
答え1
ifconfig
今は役に立たないと考えられています。代わりにツールを試してくださいip
。すべての最新のディストリビューションはこれをサポートする必要があります。これはiproute
ツールセットの一部です。
インターフェイスに追加のIPアドレスのみを追加するには、次のコマンドを使用します。
ip addr add 10.50.55.130/24 dev eth0
あなたの質問についてJohan Myréenのコメントに同意します。
答え2
コマンドライン方法に加えて、Debianベースのシステムで好む方法はネットワーク設定ファイルを使用することです。
エイリアス方法は、次の順序を使用することを好みます。eth0, eth:0:0, eth0:1,
...
したがって、システムの最初のエイリアスはeth0:0です。システムを再起動してもこのエイリアスを維持するには、次の内容を含む/etc/network/interfaces.d/eth0
ファイルを作成します。
auto eth0:0
allow-hotplug eth0:0
iface eth0:0 inet static
address 10.50.55.130/24
または、ファイルを直接編集することもできますが、/etc/network/interfaces
自動的に上書きされる可能性があるため、お勧めできません。
重要なのは、スラッシュサブネットとnetmask
キーワードがなくなったアドレス形式を使用することです。address 10.50.55.130/24
もちろん
service networking restart
テスト構成次に、次のコマンドで確認します。
service networking status
そして
ip address
コメントで述べたように、インターフェースの実際の名前は何でも構いません。ip addr
コマンドを使用してインターフェース名を解決し、その名前を使用して変更するなど:0
の操作を実行する必要があります。enp3s0f0:0そしてenp3s0f0:1など。