Ubuntuは素晴らしいオペレーティングシステムであり、Ubuntuサーバーと長い間連携しておらず、デスクトップを安定したバージョンから更新する意味がありませんでした。 そして、少し前にUbuntuサーバー18.04の新しいリリースに出くわす必要がありましたが、/ etc /ネットワークファイル編集ツールを使用してネットワークインターフェイスを設定するための古い種類のシステムのため/インターフェイスはなくなりました。 そして何が彼女に取って代わりましたか? ひどくて一見完全に理解できないものは、Netplanに適合します。
率直に言って、最初は何が問題なのか理解できず、「なぜすべてがとても便利だったので必要だった」が、少し練習した後、それが独自の魅力を持っていることに気づいた。 Ubuntuでネットワークを設定するには、少なくとも「他のディストリビューションでは見たことがない」。Netplanとの大きな違いは、設定が
YAMLで記述されていることです。そう、
YAMLについて聞いたことがあります。彼らはそれを賞賛しませんでしたが、私はそれをひどい言語だとまだ考えています。) この言語の利点は、スペースに非常に敏感であることです。例を使用して構成を見てみましょう。
構成ファイルは、パスが/etc/netplan/file.yamlにあり、+ 2個のスペースが必要な場合は各ブロックの間にあります。
1)標準ヘッダーは次のようになります。
network: version: 2 renderer: networkd ethernets: enp3s0f0: dhcp4:no
今やったことを見てみましょう:
- network:構成ブロックの始まりです。
- レンダラー:networkd-ここでは、使用するネットワークマネージャーを示します。networkdまたはNetworkManagerです。
- バージョン:2-ここで、私が理解しているように、YAMLバージョン。
- イーサネット:-このブロックは、イーサネットプロトコルを設定することを示しています。
- enps0f0:-構成するネットワークアダプターを示します。
- dhcp4:no-DHCP v4を無効にし、それぞれ6 v6 dhcp6に対して
2)IPアドレスを割り当てましょう:
enp3s0f0: dhcp4:no macaddress: bb:11:13:ab:ff:32 addresses: [10.10.10.2/24, 10.10.10.3/24] gateway4: 10.10.10.1 nameservers: addresses: 8.8.8.8
ここで、ポピー、ipv4、ゲートウェイ、およびDNSサーバーを設定します。 複数のIPアドレスが必要な場合は、カンマで区切って、後に必須スペースを入れて書き込みます。
3)
ボンディングが必要な場合はどうなりますか?
bonds: bond0: dhcp4: no interfaces: [enp3s0f0, enp3s0f1] parameters: mode: 802.3ad mii-monitor-interval: 1
- 結合:-結合を構成することを説明するブロック。
- bond0:-任意のインターフェース名。
- interfaces:-bond-dingで収集されたインターフェイスのセット。複数のパラメータが角括弧で記述されている場合は前述のとおりです。
- パラメーター:-パラメーター設定ブロックの説明
- mode:-ボンディングが機能するモードを示します。
- mii-monitor-interval:-監視間隔を1秒に設定します。
bondという名前のブロック内で、アドレス、ゲートウェイ4、ルートなどのパラメーターを構成することもできます。
ネットワークに冗長性を追加しました。現在は
vlanをハングさせるだけであり、構成は完了したと見なすことができます。
vlans: vlan10: id: 10 link: bond0 dhcp4: no addresses: [10.10.10.2/24] gateway: 10.10.10.1 routes: - to: 10.10.10.2/24 via: 10.10.10.1 on-link: true
- vlans:-vlan構成ブロックを宣言します。
- vlan10:-vlanインターフェイスの任意の名前。
- id:-VLANのタグ。
- リンク:-VLANを使用できるインターフェース。
- routes:-ルート記述ブロックを宣言します。
- -to:-ルートが必要なアドレス/サブネットを設定します。
- via:-サブネットを利用できるゲートウェイを指定します。
- on-link:-リンクを上げるときに常にルートを登録する必要があることを示します。
YAMLでは、スペースの配置に注意してください。これは非常に重要です。
ここでは、ネットワークインターフェイスについて説明し、ボンディングを作成し、さらにVLANを追加しました。 構成を適用してみましょう、netplan適用チームは構成にエラーがないかどうかを確認し、成功した場合は適用します。
これまでのコードブロックをすべて収集すると、次のようになります。
network: version: 2 renderer: networkd ethernets: enp3s0f0: dhcp4: no ensp3s0f1: dhcp4: no bonds: bond0: dhcp4: no interfaces: [enp3s0f0, enp3s0f1] parameters: mode: 802.3ad mii-monitor-interval: 1 vlan10: id: 10 link: bond0 dhcp4: no addresses: [10.10.10.2/24] routes: - to: 10.10.10.2/24 via: 10.10.10.1 on-link: true vlan20: id: 20 link: bond0 dhcp4: no addresses: [10.10.11.2/24] gateway: 10.10.11.1 nameserver: addresses: [8.8.8.8]
これでネットワークの運用準備が整い、すべてが最初のように怖くなく、コードは非常に美しく読みやすいことが判明しました。 ネットプランをありがとうございます。https://netplan.io/に優れたマニュアルがあり
ます 。