設定 - ネットワーク

2022年4月27日 (水) 20:40時点におけるWiki (トーク | 投稿記録)による版 (ページの作成:「== 概要 == ネットワークの設定には、GNOME設定またはKDEシステム設定を使用する方法(NetworkManager)、YaSTを使用する方法(Wicked)、テキストファイルを直接編集する方法等がある。<br> <br><br> == NetworkManager : CUIでの設定 == セキュリティ上の理由から、接続プロファイルには、秘密鍵やパスフレーズ等の機密情報が含まれることがあるため、<br> NetworkManagerでは…」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)

概要

ネットワークの設定には、GNOME設定またはKDEシステム設定を使用する方法(NetworkManager)、YaSTを使用する方法(Wicked)、テキストファイルを直接編集する方法等がある。


NetworkManager : CUIでの設定

セキュリティ上の理由から、接続プロファイルには、秘密鍵やパスフレーズ等の機密情報が含まれることがあるため、
NetworkManagerでは、所有者がルートであり、ルートのみが読み書き可能な設定ファイルを作成する必要がある。

接続プロファイルの目的に応じて、以下のいずれかのディレクトリに設定ファイルを作成する。

  • /etc/NetworkManager/system-connectionsディレクトリ
    永続的に設定する場合に使用する。

  • /run/NetworkManager/system-connectionsディレクトリ
    PCを再起動する時、自動的に削除される一時的な設定ファイルの場合に使用する。

  • /usr/lib/NetworkManager/system-connectionsディレクトリ
    NetworkManager APIを使用して作成または編集する場合、NetworkManagerはこのディレクトリにある設定ファイルを、
    /etc/NetworkManager/system-connectionsディレクトリまたは/run/NetworkManager/system-connectionsディレクトリにコピーする。


NetWorkManagerの設定ファイルを作成する。

sudo touch /etc/NetworkManager/system-connections/<任意の接続名>.nmconnection

sudo chown root:root /etc/NetworkManager/system-connections/<任意の接続名>.nmconnection
sudo chmod 600 /etc/NetworkManager/system-connections/<任意の接続名>.nmconnection


作成または編集した設定ファイルを読み込む。

sudo nmcli connection reload


NetworkManagerが設定ファイルからプロファイルを読み込んでいることを確認する。

sudo nmcli -f NAME,UUID,FILENAME connection



Wicked : CUIでの設定

まず、静的IPアドレスを設定する。

sudo vi /etc/sysconfig/network/ifcfg-eth0


# /etc/sysconfig/network/ifcfg-eth0ファイル

# 静的IPアドレスを使用
BOOTPROTO='static'

# ブロードキャストアドレスの指定
BROADCAST='<ブロードキャストアドレス  例. 192.168.10.255>'
ETHTOOL_OPTIONS=

# IPアドレスの指定
IPADDR='<IPアドレス  例. 192.168.10.5>'
MTU=
NAME=

# サブネットマスクの指定
NETMASK='<サブネットマスク  例. 255.255.255.0>'

# ネットワークアドレスの指定
NETWORK='<ネットワークアドレス  例. 192.168.10.0>'
REMOTE_IPADDR=
STARTMODE='auto'
DHCLIENT_SET_DEFAULT_ROUTE='yes'


次に、参照するDNSサーバおよび自身のドメイン名を設定する。

sudo vi /etc/sysconfig/network/config


# /etc/sysconfig/network/configファイル

# 自身のドメイン名を指定
# この設定は、resolv.confの[search]セクションに追加される
NETCONFIG_DNS_STATIC_SEARCHLIST="<自身のドメイン名  例. suse.net>"

# 参照するDNSサーバの指定
NETCONFIG_DNS_STATIC_SERVERS="<DNSサーバのIPアドレス  例. 192.168.10.1>"


参照するDNSサーバを設定する。

sudo vi /etc/resolv.conf


# /etc/resolv.confファイル

nameserver <DNSサーバのIPアドレス  例. 192.168.10.1>


さらに、デフォルトゲートウェイを設定する。

sudo vi /etc/sysconfig/network/routes


# デフォルトゲートウェイの指定
default <デフォルトゲートウェイのIPアドレス  例. 192.168.10.1> - eth0


最後に、PCを再起動する。


エラー

起動時にWi-Fiに接続できない

Linuxにおいて、直面しがちな大きな課題の1つにWi-Fiがある。

Atheros Wi-Fiデバイスは、Linuxカーネル開発者がath10kドライバ等を介してサポートしているため、ほとんどのAtheros Wi-Fiデバイスは動作する。
Intel Wi-Fiデバイスは、IntelがLinuxカーネル開発者と協力しており、全てのIntel Wi-Fiデバイスが動作する。

方法 1

ハードウェアまたはソフトウェアにおけるWi-Fi接続の問題は、ハードウェアの問題かソフトウェアの問題のどちらかになる。
ハードウェアの問題は比較的簡単に診断できる。

ping localhost


localhostは、NICの回路をチェックするためのアドレスとして機能する。
上記のコマンドが動作しない場合、ハードウェアに何らかの細工をする必要があるかもしれない。
上記のコマンドが動作する場合、または、Wi-Fiモジュールが見えない場合、ソフトウェアの問題である可能性が高い。

Wi-Fiモジュールが検出されない場合は、以下のコマンドを実行する。

# USB Wi-Fiを使用している場合
sudo lsusb

# 内蔵型Wi-Fiを使用している場合
sudo lspci

# USB Wi-Fiおよび内蔵型Wi-Fiのいずれか
sudo hwinfo --wlan --short


また、lshwコマンドを実行して、Wi-Fiモジュールを認識しているかどうかを確認することができる。
この時、configuration項目のdriver=...の値をメモする。
もし、lshwコマンドが実行できない場合、lshwをインストールする必要がある。

sudo zypper install lshw


sudo lshw -C network

# 出力例

...略

description: Wireless interface
product: PRO/Wireless 3945ABG [Golan] Network Connection
vendor: Intel Corporation

...略


lsusbコマンドまたはlspciコマンドでWi-Fiモジュールが確認できる場合、ファームウェアは動作している可能性が高い。
Wi-Fiモジュールが動作しない理由は、Wi-Fiモジュールが欠落しているからである。

現在、使用しているモジュールの一覧を表示するには、lsmodコマンドを実行する。

sudo lsmod


Wi-Fiモジュールを有効にするには、modprobeコマンドを実行する。
<モジュール名>には、上記のsudo lshw -C networkコマンドで表示されたconfiguration項目のdriver=...の値を入力する。

sudo modprobe <モジュール名>


Wi-Fiモジュールが正常に読み込まれたかどうかを確認する。

sudo lsmod | grep -i <モジュール名>


何らかの問題により、Linuxの起動時にWi-Fiモジュールを読み込まない場合がある。
この時、強制かつ永続的にWi-Fiモジュールを読み込ませることができる。

sudo vi /etc/modules-load.d/wifi.conf


# /etc/modules-load.d/wifi.confファイル

# ... 略

<モジュール名>


Linuxを再起動して、Wi-Fiモジュールが正常に読み込まれているかどうかを確認する。

sudo lsmod | grep -i <モジュール名>


方法 2

まず、以下のファイルを作成する。
以下の例では、~/InstallSoftware/StartWi-Fiディレクトリ下に作成している。

mkdir -p ~/InstallSoftware/StartWi-Fi
vi ~/InstallSoftware/StartWi-Fi/StartWi-Fi.sh


 # ~/InstallSoftware/StartWi-Fi/StartWi-Fi.shファイル
 
 #!/usr/bin/env bash
 
 echo '<パスワード>' | sudo -S ip link set wlan0 up
 
 echo '<パスワード>' | sudo -S systemctl disable packagekit
 echo '<パスワード>' | sudo -S systemctl stop packagekit
 
 exit


StartWi-Fiファイルに、実行権限を付加する。

chmod u+x ~/InstallSoftware/StartWi-Fi/StartWi-Fi.sh


次に、[KDEシステム設定]を起動して、[起動と終了] - [自動起動]を選択する。
[スクリプトを追加...]ボタンを押下して、上記で作成したStartWi-Fi.shファイルを選択する。

Linuxカーネルには、標準でbrcm80211ドライバが搭載されている。
このドライバは、bcm4313、bcm43224、bcm43225、bcm4329、bcm4330、bcm4334、bcm43241、bcm43235(>= rev 3)、bcm43236(>= rev 3)、bcm43238(>= rev 3)、bcm43143、bcm43242をサポートしている。

bcm4312、bcm4313、bcm4321、bcm4322、bcm43224、bcm43225、bcm43227、bcm43228


これらのドライバで問題が発生する時、以下のチップセットの場合は、Packmanリポジトリからインストールできる独自のbroadcom-wlドライバをインストールすることにより、正常に動作する可能性がある。

sudo zypper install --from packman --allow-vendor-change broadcom-wl


方法 3

現在のWi-Fiの設定が記述されている/etc/NetworkManager/system-connections/*.nmconnectionファイルを編集する。

sudo vi /etc/NetworkManager/system-connections/*.nmconnectionファイル


# /etc/NetworkManager/system-connections/*.nmconnectionファイル
auto lo
iface lo inet loopback

auto wlan0
iface wlan0 inet dhcp
wpa-essid <Wi-FiのSSID>
wpa-psk <Wi-Fiのパスワード>


wlan0インターフェースを再起動する。

sudo ifdown wlan0 && sudo ifup -v wlan0