ホームページ >運用・保守 >Linuxの運用と保守 >Linuxタップとは何ですか

Linuxタップとは何ですか

青灯夜游
青灯夜游オリジナル
2023-04-20 16:54:313187ブラウズ

Linux における TAP の正式名は「トンネリング トラフィック アクセス ポイント」で、Linux で使用される仮想ネットワーク カード テクノロジであり、アプリケーションに安全なネットワーク接続を提供できます。 TAP ネットワーク インターフェイスを使用して仮想ネットワークを実装すると、実際のネットワーク条件を確立することなく、ソフトウェアでアプリケーションをテストするための実際のネットワークと同様の環境を提供できます。

Linuxタップとは何ですか

#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。

Linux Tap とは

Linux の TAP ネットワーク インターフェイスの詳細な説明は、Linux ネットワーク管理の非常に重要な部分です。仮想ネットワークの確立、ネットワークのシミュレーション、ネットワークトラフィックの管理、セキュアなネットワーク機能の実装など。この記事では、TAP ネットワーク インターフェイスの基本原理、ネットワーク管理への使用方法、イーサネットとの違い、およびその他の応用シナリオを紹介します。

TAP (トンネリング トラフィック アクセス ポイント) は、Linux で使用される仮想ネットワーク カード テクノロジであり、アプリケーションに安全なネットワーク接続を提供できます。 TAP は仮想ネットワーク カードとして設計されており、実際のイーサネット カードと同様にネットワークにマッピングでき、ネットワーク データ パケットを送受信できます。 TAP ネットワーク インターフェイスは、仮想ネットワークの確立、ネットワークのシミュレーション、ネットワーク トラフィックの管理、および安全なネットワーク機能の実装に使用できます。

Linux は、TAP ネットワーク インターフェイスを介して 2 台または複数のコンピュータ間で直接データ パケット送信を実現できます。また、複数のルーターを介してネットワークを分離してデータを安全に送信することもできます。 TAP ネットワーク インターフェイスを使用すると、ユーザーは特定のルールに従ってネットワーク サービスをユーザーに提供できるだけでなく、ネットワーク セキュリティを確保するための制御を通じてネットワーク トラフィックを管理することもできます。

TAP ネットワーク インターフェイスを使用すると、仮想ネットワークを実装できます。この仮想ネットワークは、実際のネットワーク条件を確立することなく、ソフトウェアでテストされるアプリケーションに実際のネットワークと同様の環境を提供できます。 TAP ネットワーク インターフェイスは、ネットワーク トラフィックの管理、ネットワークからの不要なデータ パケットのフィルタリング、ネットワーク セキュリティの保護、ネットワーク速度とネットワーク品質への依存の軽減にも役立ちます。

イーサネット テクノロジと比較すると、TAP テクノロジは、ネットワーク セキュリティ、ネットワーク分離、ネットワーク エージェントの使用など、Linux システム上で仮想ネットワークを確立するのに適しています。 TAP をイーサネットと組み合わせて使用​​して、ネットワーク リソースの二重機能を活用することもできます。

上記の紹介からわかるように、TAP ネットワーク インターフェイスは Linux ネットワーク管理で広く使用されており、仮想ネットワークの確立、ネットワークのシミュレーション、ネットワーク トラフィックの管理、安全なネットワーク機能の実装に使用できます。

つまり、TAP ネットワーク インターフェイスは、Linux システムで非常に一般的に使用されるネットワーク テクノロジであり、異なるコンピュータを接続するために使用できるだけでなく、仮想ネットワークを確立してネットワーク セキュリティとネットワークを実現するためにも使用できます。ネットワーク リソースをより効率的に利用します。

tap と tun の違い:

tap はネットワーク OSI モデルの第 2 層 (データリンク層) に位置し、tun は第 3 層に位置します。ネットワークの層。ここでタップについて簡単に説明します。

Linux ホストでのタップ練習

Linux コマンド ラインを使用してタップを操作したい場合は、まず Linux に tun モジュールが必要です。 (Linux は、実装された tun モジュールと Tap を使用します)。

確認方法は以下の通りです:

# 如果使用命令 modinfo tun,有输出的话,就说明具有tun模块
[root@public ~]# modinfo tun
filename:       /lib/modules/3.10.0-693.11.1.el7.x86_64/kernel/drivers/net/tun.ko.xz
alias:          devname:net/tun
alias:          char-major-10-200
license:        GPL
author:         (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
description:    Universal TUN/TAP device driver
rhelversion:    7.4
srcversion:     4E9F57A6269CFD0F4BE4021
depends:
intree:         Y
vermagic:       3.10.0-693.11.1.el7.x86_64 SMP mod_unload modversions
signer:         CentOS Linux kernel signing key
sig_key:        61:B8:E8:7B:84:11:84:F6:2F:80:D6:07:79:AB:69:2A:49:D8:3B:AF
sig_hashalgo:   sha256
[root@public ~]#

Linux版にtunモジュールがある場合、それがロードされているか確認する必要があります。確認方法は以下の通りです:

# 使用该命令检查后,无回显,表示当前未加载该模块
[root@public ~]# lsmod | grep tun
[root@public ~]#
# 使用该命令加载该模块
[root@public ~]# modprobe tun
[root@public ~]#
[root@public ~]# lsmod | grep tun
tun                    31621  0

モジュールをロードした後、Linux に tun/tap を操作するためのコマンド ライン ツール tunctl があるかどうかも確認する必要があります。

# 可以使用yum直接安装,如果yum源中没有的话,可以去阿里源的网站中下载rpm包然后安装。
[root@public ~]# yum -y install tunctl

tun モジュールと tunctl を用意した後、コマンド:

[root@public ~]# tunctl -t tap_test
Set &#39;tap_test&#39; persistent and owned by uid 0
[root@public ~]# ip link list
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
    link/ether fa:16:3e:08:0b:39 brd ff:ff:ff:ff:ff:ff
3: tap_test: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 1000
    link/ether ce:cc:18:91:1e:ba brd ff:ff:ff:ff:ff:ff
[root@public ~]#

IP アドレスの追加:

[root@public ~]# ip addr add local 192.168.10.100/24 dev tap_test
[root@public ~]# ip a s
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether fa:16:3e:08:0b:39 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.93/24 brd 192.168.10.255 scope global noprefixroute dynamic eth0
       valid_lft 75733sec preferred_lft 75733sec
    inet6 fe80::f816:3eff:fe08:b39/64 scope link
       valid_lft forever preferred_lft forever
3: tap_test: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether ce:cc:18:91:1e:ba brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.100/24 scope global tap_test
       valid_lft forever preferred_lft forever
[root@public ~]#

関連する推奨事項: 「Linux」ビデオチュートリアル>>

以上がLinuxタップとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。