web-dev-qa-db-ja.com

Linuxでのgsettings / script / terminalによるネットワーク設定の構成

Ubuntu 18.04でスクリプトを使用して、ID、IPv4形式(アドレス、ネットマスク、ゲートウェイ、DNS)、セキュリティ、パスワードなどのネットワーク設定をどのように構成しますか?

そのためのgsettingsスキーマが見つかりませんでした。誰かが私を正しい方向に向けてくれれば幸いです。

1
frankenstein

nmcliツールを使用して、NetworkManagerを介して接続を編集できます。

たとえば、デバイスのイーサネット接続を作成するとします:enp1s0

  • IP:192.168.1.10

  • ゲートウェイ:192.168.1.1

  • DNS:8.8.8.8

  • 接続名:「net-enp1s0」

Sudo nmcli con add con-name "net-enp1s0" ifname enp1s0 type ethernet ipv4.method manual ip4 192.168.1.10/24 gw4 192.168.1.1 ipv4.dns 8.8.8.8 

またはスクリプトとして(このスクリプトを実行するにはSudoを使用する必要があります):

#!/bin/bash
nmcli con add \
con-name "net-enp1s0" \
ifname enp1s0 \
type ethernet \
ipv4.method manual \
ip4 192.168.1.10/24 \
gw4 192.168.1.1 \
ipv4.dns 8.8.8.8

これらはオプションです:

  • con =接続

  • add =追加

  • con-name "net-enp1s0" =接続ID

  • ifname enp1s0 =接続インターフェース名

  • type ethernet =接続タイプ

  • ipv4.method manual =静的IPを使用

  • ip4 192.168.1.10/24 =ローカルipv4アドレスとネットマスク( 24 = 255.255.255.

  • gw4 192.168.1.1 =ゲートウェイ

  • ipv4.dns 8.8.8.8 = DNSサーバー


既存の接続を編集することもできます。

「net-enp1s0」接続の構成ファイルは/etc/NetworkManager/system-connections/net-enp1s0です。ファイルは次のようになります。

[connection]
id=net-enp1s0
uuid=5099a1ae-1ae0-42d7-acf8-178ef3772f4f
type=ethernet
interface-name=enp1s0
permissions=

[ethernet]
mac-address-blacklist=

[ipv4]
address1=192.168.1.10/24,192.168.1.1
dns=8.8.8.8;
dns-search=
method=manual

[ipv6]
addr-gen-mode=stable-privacy
dns-search=
method=auto

ネットワークの構成ファイルを編集する場合、次のコマンドを実行して変更を適用できます。

Sudo nmcli con reload

次の例は、WPA「freewifi」という名前のネットワーク上の「coffee-shop」という名前のPSKとのパスワード「freepassword」を使用したワイヤレス接続:

Sudo nmcli con add con-name "coffee-shop" type wifi ifname wlp2s0 ssid "freewifi" -- wifi-sec.key-mgmt wpa-psk wifi-sec.psk "freepassword" ipv4.method manual ip4 192.168.1.10/24 gw4 192.168.1.1 ipv4.dns 8.8.8.8 

これはスクリプトです:

#!/bin/bash
nmcli con add \
con-name "coffee-shop" \
type wifi \
ifname wlp2s0 \
ssid "freewifi" \
-- wifi-sec.key-mgmt wpa-psk \
wifi-sec.psk "freepassword" \
ipv4.method manual \
ip4 192.168.1.10/24 \
gw4 192.168.1.1 \
ipv4.dns 8.8.8.8

リンク:

また、この Arch Linux wikiページ にはnmcliの例のリストがあります。

CertDepotチュートリアルはRedHat用ですが、nmcliのほとんどすべてがUbuntuに適用されます。ただし、Ubuntu構成ファイルは/etc/NetworkManager/system-connectionsにあり、これらのファイルを直接編集できます。

1
mchid