Linux における TAP の正式名は「トンネリング トラフィック アクセス ポイント」で、Linux で使用される仮想ネットワーク カード テクノロジであり、アプリケーションに安全なネットワーク接続を提供できます。 TAP ネットワーク インターフェイスを使用して仮想ネットワークを実装すると、実際のネットワーク条件を確立することなく、ソフトウェアでアプリケーションをテストするための実際のネットワークと同様の環境を提供できます。
#このチュートリアルの動作環境: 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 'tap_test' 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 サイトの他の関連記事を参照してください。