Linuxでtunモジュールをロードするにはどうすればいいですか?


24

ロードできません tun 私のArchLinuxボックスの中のモジュール。私はしようとしています OpenVPNに接続するために、しかしログは言う:

nm-openvpn[6662]: Note: Cannot open TUN/TAP dev /dev/net/tun: No such device (errno=19)

lsmod | grep tun

何も返しません。

実行した場合

sudo modprobe tun

失敗を返しますが、エラーメッセージは表示されず、lsmodにはまだ表示されません。 tun。があるので、モジュールは存在するようです tun.ko.gz/lib/modules/

私は本当に他に何を試すべきかわからない。

回答:


26

この答えはおそらく少し遅れていますが、私は自分自身で説明したとおりに問題に遭遇しました。

OpenVPNを実行すると以下のようになります。

Note: Cannot open TUN/TAP dev /dev/net/tun: No such file or directory (errno=2)

そして走っている tunctl 生成されます:

Failed to open '/dev/net/tun' : No such file or directory

そしてこのコマンドは何も出力しませんでした:

lsmod | grep tun

追加しようとしたとき tun 以下のモジュール

modprobe tun

modprobe 失敗エラーコード(1)で終了し、何も変更されません。

私は経由でtunモジュールをアクティブにする別の方法を見つけました insmod。まず、このコマンドでモジュールを見つけます。

find /lib/modules/ -iname 'tun.ko.gz'

次に、返されたパスでinsmodを使用します(1つだけ一致します)。次に例を示します。

insmod /lib/modules/3.6.9-1-ARCH/kernel/drivers/net/tun.ko.gz

私にとって、そのコマンドを実行することはうまくいきました、そして tunctl そしてOpenVPNはその後うまくいった。


私のラズベリーパイにもこれがあれば、insmodはそれを解決しました(リブート後、私はいつものようにmodprobeできます)
unhammer

ありがとうございます。の insmod コマンドが動作します!これはopenconnectの問題でした:tunデバイスを開けませんでした:そのようなデバイスはありません
Antonio Saco

rootアクセスが必要ですか。
Dr.jacky

1
私のUbuntu 14.04 vpsで/ lib / modules / -iname 'tun.ko.gz'が見つかりません(
user3479125

1
CentOS 7でも見つけることができません。
snetch

19

私はOVHクラウドVPS上でopenvpnを実行しようとしたときに私は同様の問題に遭遇しました、openvpnはTUNインターフェースを見つけることができないと不平を言います。

modprobeは常に見つからないモジュールを返します。

$ sudo modprobe tun
FATAL: Module tun not found.

最後に、tunはモジュールではなくカーネルに組み込まれていることがわかりました。そのため、解決するために必要なdirとnodを作成しました。

$ sudo mkdir /dev/net
$ sudo mknod /dev/net/tun c 10 200

そしてopenvpnはtunデバイスを見つけて使うことができます。

なお、tunはモジュールではないため、modprobeはその後もエラーを返します。

$ sudo modprobe tun
FATAL: Module tun not found.

ありがとう、私は、Debian 7からDebian 8へのdist-upgradeをした後、OVH Classic VPS上のOpenVPN Access Serverでこの問題を抱えています。 sudo chmod 600 /dev/net/tun この記事で言ったように: wiki.vpslink.com/TUN/TAP_device_with_OpenVPN_or_Hamachi でopenvpnを再起動した後 sudo service openvpnas restart、私はクライアントと接続することができました。しかし、Linuxサーバーを再起動すると、/ dev / net / tunはもう存在しません。それが正常かどうかはわかりませんが、/ etc / rc.localにコマンドを追加したので、再起動後も機能します。
baptx

ありがとう。あなたの解決策は私のアンドロイド携帯で動いているdebian squeezeの私のarmbiポートでうまくいった。 OpenVPNの起動中に同じエラーが発生しました。
Sourav Ghosh

はい、 tun モジュールではありません。
MrRolling

thasは私に感謝します。
Pouya Samie

1

Arch linuxでは networkmanager-vpnc パッケージは問題を解決します


0

私は私の /lib/modules/.../modules.alias 行が含まれていませんでした

alias char-major-10-200 tunode_tunnel

だからあなたがやったとしても mknod /dev/net/tun そして持っている tun.ko どこかに /lib/modules/...そうでなければ、ロードされません modules.alias 正しい呪文を持っています。

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