• 在线工具
  • - 计算器
    • 字符计数
  • - 下载
    • TikTok 下载
    • 抖音下载
  • - 网络工具
    • BASE64
    • Base64 转图片
    • 图片转 Base64
    • URL 编码
    • JavaScript
    • 时间戳
    • Unicode 转换器
    • JSON 格式化
    • 修改扩展名
    • 制作列表
    • CSS 优化器
  • - 加密工具
    • MD5 加密
    • 随机生成器
  • - 图像工具
    • 图像压缩
    • 二维码生成器
    • 二维码识别器
    • 壁纸预览
    • 图片 EXIF
  • - 信息表
    • 血型遗传
    • 服装尺码
  • [email protected]
DopuBox
  • English
  • Español
  • Français
  • 日本語
  • 한국어
  • 简体中文
  • 繁體中文
全部 ニュース Meta Code 文化・アート
Linuxの下でPC機を利用してルートの転送を行ってLinuxを1台のルータになります
2022-01-28

Linuxオペレーティングシステムでは、簡単な設定でLinuxを優れたルータに変え、ルーティングを実現します。以下、3台のマシンの実装を通じて、pcマシンを利用してルーティングを実現する方法を詳しく紹介します。一緒に勉強しましょう。

1、ネットワークトポロジ

ネットワークトポロジは以下のように,我々はここで3台の機を用いて実験を行い,それぞれ①,④,⑦号機であり,①号機ping⑦号機,④号機をルーティング転送として用いた.

2、誤ったルート構成

まず、この3台のマシンのルーティングテーブルを構成するには、次の構成方法を使用します。

1)①番機種では、宛先セグメントが10.0.4.0/24のeth 1ポートから出るように配置

  route add -net 10.0.4.0/24 dev eth1

①号機の表示経路表に次のコマンドを入力します。

  route -n

①号機のルーティングテーブルの結果は以下の通りです。

2)⑦号機で同様の方法でルーティングを構成し、結果は以下の通りである。

3)4号機でルーティング転送機能を設定し、/etc/sysctl.confファイルのnet.ipv4.ip_forwardの値を1にします。

4)すべての配置が完了し、①号機ping④号機で

  ping 10.0.4.3

結果は以下の通りです。すなわちpingが通じません。

  PING 10.0.4.3 (10.0.4.3) 56(84) bytes of data.From 10.0.1.3 icmp_seq=2 Destination Host UnreachableFrom 10.0.1.3 icmp_seq=3 Destination Host UnreachableFrom 10.0.1.3 icmp_seq=4 Destination Host UnreachableFrom 10.0.1.3 icmp_seq=6 Destination Host UnreachableFrom 10.0.1.3 icmp_seq=7 Destination Host UnreachableFrom 10.0.1.3 icmp_seq=8 Destination Host Unreachable

ここでは研究の便宜上、①号機のeth 1配置を

  eth1 Link encap:Ethernet HWaddr 00:16:EC:AF:CB:CB inet addr:10.0.1.3 Bcast:10.255.255.255 Mask:255.255.255.0 inet6 addr: fe80::216:ecff:feaf:cbcb/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:4564 errors:0 dropped:0 overruns:0 frame:0 TX packets:6688 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:459463 (448.6 KiB) TX bytes:546633 (533.8 KiB) Interrupt:23 Base address:0x6000

①号機pingと同時に、④号機でeth 1パックを捕まえた結果、以下のようになりました。

  [root@h4~]# tcpdump -i eth1 -enntcpdump: verbose output suppressed, use -v or -vv for full protocol decodelistening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes15:26:44.388614 00:16:ec:af:cb:cb 》 ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 60: Request who-has 10.0.4.3 tell 10.0.1.3, length 4615:26:45.391014 00:16:ec:af:cb:cb 》 ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 60: Request who-has 10.0.4.3 tell 10.0.1.3, length 4615:26:47.387821 00:16:ec:af:cb:cb 》 ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 60: Request who-has 10.0.4.3 tell 10.0.1.3, length 4615:26:48.391220 00:16:ec:af:cb:cb 》 ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 60: Request who-has 10.0.4.3 tell 10.0.1.3, length 4615:26:49.392621 00:16:ec:af:cb:cb 》 ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 60: Request who-has 10.0.4.3 tell 10.0.1.3, length 46

1番は10.0.4.3 IPを備えたマシンのmacアドレスを探しています。つまりarpパケットを送っています。しかし、ルータ(④号機)はarpメッセージを転送しないのがデフォルトで、すべての①号機は永遠にpingが通じない⑦号機です。

3、正しい配置

①番機種にルーティングを配置し、コマンドは以下の通りです。

  route add -net 10.0.4.0/24 gw 10.0.1.2

このとき①号機のルーティングテーブル:

  [root@h1 ~]# [root@h1 ~]# route -nKernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface10.0.4.0 10.0.1.2 255.255.255.0 UG 0 0 0 eth110.0.5.0 0.0.0.0 255.255.255.0 U 0 0 0 eth210.0.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1192.168.99.0 0.0.0.0 255.255.255.0 U 1 0 0 eth00.0.0.0 192.168.99.1 0.0.0.0 UG 0 0 0 eth0

同様の方法で⑦号機のルーティングテーブルを配置する

  root@h7:~#route-nカーネルIPルーティングテーブルのターゲットゲートウェイサブネットマスクフラグ遷移点参照使用インタフェース0.0.0192.168.99.1 0.0.0.0 UG 0 0 0 eth 010.0.1.0 10.0.4.2 255.255.255.0 UG 0 0 0 eth110.0.4.0 0.0.0.0 255.255.255.0 U 1 0 0 eth110.0.7.0 0.0.0.0 255.255.255.0 U 1 0 0 eth2192.168.99.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0

次にpingテストを行い、①号機ping⑦号機でpingが通じるようにします。ここでは便利な分析を聞いて、まず各NICのMACアドレスをリストします。

①号機eth 1:HWaddr 00:16:EC:AF:CB:CB④号機eth 1:HWaddr 40:61:86:32:8 F:0 B④号機eth 4:HWaddr 40:61:86:32:8 F:0 E⑦号機eth 1:HWaddr 00:25:90:93:40:79

④号機eth 1のバッグは以下の通りです。

  [root@h4 ~]# tcpdump -i eth1 -enntcpdump: verbose output suppressed, use -v or -vv for full protocol decodelistening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes16:02:26.809445 00:16:ec:af:cb:cb 》 40:61:86:32:8f:0b, ethertype IPv4 (0x0800), length 98: 10.0.1.3 》 10.0.4.3: ICMP echo request, id 8079, seq 1, length 6416:02:26.810723 40:61:86:32:8f:0b 》 00:16:ec:af:cb:cb, ethertype IPv4 (0x0800), length 98: 10.0.4.3 》 10.0.1.3: ICMP echo reply, id 8079, seq 1, length 6416:02:27.811847 00:16:ec:af:cb:cb 》 40:61:86:32:8f:0b, ethertype IPv4 (0x0800), length 98: 10.0.1.3 》 10.0.4.3: ICMP echo request, id 8079, seq 2, length 6416:02:27.813136 40:61:86:32:8f:0b 》 00:16:ec:af:cb:cb, ethertype IPv4 (0x0800), length 98: 10.0.4.3 》 10.0.1.3: ICMP echo reply, id 8079, seq 2, length 6416:02:28.813248 00:16:ec:af:cb:cb 》 40:61:86:32:8f:0b, ethertype IPv4 (0x0800), length 98: 10.0.1.3 》 10.0.4.3: ICMP echo request, id 8079, seq 3, length 6416:02:28.814551 40:61:86:32:8f:0b 》 00:16:ec:af:cb:cb, ethertype IPv4 (0x0800), length 98: 10.0.4.3 》 10.0.1.3: ICMP echo reply, id 8079, seq 3, length 6416:02:29.814648 00:16:ec:af:cb:cb 》 40:61:86:32:8f:0b, ethertype IPv4 (0x0800), length 98: 10.0.1.3 》 10.0.4.3: ICMP echo request, id 8079, seq 4, length 64

④号機eth 4のバッグは以下の通りです。

  root@h4 ~]# tcpdump -i eth4 -enntcpdump: verbose output suppressed, use -v or -vv for full protocol decodelistening on eth4, link-type EN10MB (Ethernet), capture size 65535 bytes16:02:26.809460 40:61:86:32:8f:0e 》 00:25:90:93:40:79, ethertype IPv4 (0x0800), length 98: 10.0.1.3 》 10.0.4.3: ICMP echo request, id 8079, seq 1, length 6416:02:26.810715 00:25:90:93:40:79 》 40:61:86:32:8f:0e, ethertype IPv4 (0x0800), length 98: 10.0.4.3 》 10.0.1.3: ICMP echo reply, id 8079, seq 1, length 6416:02:27.811853 40:61:86:32:8f:0e 》 00:25:90:93:40:79, ethertype IPv4 (0x0800), length 98: 10.0.1.3 》 10.0.4.3: ICMP echo request, id 8079, seq 2, length 6416:02:27.813130 00:25:90:93:40:79 》 40:61:86:32:8f:0e, ethertype IPv4 (0x0800), length 98: 10.0.4.3 》 10.0.1.3: ICMP echo reply, id 8079, seq 2, length 6416:02:28.813255 40:61:86:32:8f:0e 》 00:25:90:93:40:79, ethertype IPv4 (0x0800), length 98: 10.0.1.3 》 10.0.4.3: ICMP echo request, id 8079, seq 3, length 6416:02:28.814545 00:25:90:93:40:79 》 40:61:86:32:8f:0e, ethertype IPv4 (0x0800), length 98: 10.0.4.3 》 10.0.1.3: ICMP echo reply, id 8079, seq 3, length 64

⑦号機eth 1のバッグは以下の通りです。

  root@h7:~# tcpdump -i eth1 -enntcpdump: verbose output suppressed, use -v or -vv for full protocol decodelistening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes16:02:27.222853 40:61:86:32:8f:0e 》 00:25:90:93:40:79, ethertype IPv4 (0x0800), length 98: 10.0.1.3 》 10.0.4.3: ICMP echo request, id 8079, seq 1, length 6416:02:27.222867 00:25:90:93:40:79 》 40:61:86:32:8f:0e, ethertype IPv4 (0x0800), length 98: 10.0.4.3 》 10.0.1.3: ICMP echo reply, id 8079, seq 1, length 6416:02:28.225226 40:61:86:32:8f:0e 》 00:25:90:93:40:79, ethertype IPv4 (0x0800), length 98: 10.0.1.3 》 10.0.4.3: ICMP echo request, id 8079, seq 2, length 6416:02:28.225237 00:25:90:93:40:79 》 40:61:86:32:8f:0e, ethertype IPv4 (0x0800), length 98: 10.0.4.3 》 10.0.1.3: ICMP echo reply, id 8079, seq 2, length 6416:02:29.226638 40:61:86:32:8f:0e 》 00:25:90:93:40:79, ethertype IPv4 (0x0800), length 98: 10.0.1.3 》 10.0.4.3: ICMP echo request, id 8079, seq 3, length 6416:02:29.226649 00:25:90:93:40:79 》 40:61:86:32:8f:0e, ethertype IPv4 (0x0800), length 98: 10.0.4.3 》 10.0.1.3: ICMP echo reply, id 8079, seq 3, length 6416:02:30.228059 40:61:86:32:8f:0e 》 00:25:90:93:40:79, ethertype IPv4 (0x0800), length 98: 10.0.1.3 》 10.0.4.3: ICMP echo request, id 8079, seq 4, length 64

キャプチャされたパケットから分かるように、1号機はping⑦号機の場合、ルーティングテーブルに4号機のeth 1(10.0.1.2)アドレスが配置されているため、このアドレスに対応するmac①号機はキャッシュされており、arp放送を行わずにICMPパケットの送信を直接開始し、目的ipは⑦号機で、目的MACは④号機のeth 1であり、その後、4号機のルーティングで目的MACを4号機のeth 4に変えたが、目的ipは変わらず、戻ってくる過程は似ている。

4、結論

linuxルータはarpメッセージをデフォルトで転送しないため、「誤った構成」のようにルーティングを構成すると、①号機は目的MACを問い合わせる段階でルータ④号機にパケットを転送させることができず、「正しい構成」のようにルーティングを構成して①号機に④号機eth 1のMACを使用させてから、さらに一歩転送するか、または「誤った構成」を通じて「ルーティングは、その後、4号機でarpエージェントを使用して、⑦号機のMACを1号機に取得させ、arpメッセージ送信段階からICMPパケット送信段階に移行させる。

Linuxの下でPC機を利用してルーティング転送を実現する方法を紹介しましたが、間違った設定方法も紹介されています。設定ミスを防ぐために、急いで操作してみましょう。


ソース元URL:https://dopubox.com/article/p/1ee1c68d7f3f9948

其他工具
  • 字符计数 TikTok 下载 抖音下载 BASE64 Base64 转图片 图片转 Base64 URL 编码 JavaScript 时间戳 Unicode 转换器 JSON 格式化 修改扩展名 制作列表 CSS 优化器 MD5 加密 随机生成器 图像压缩 二维码生成器 二维码识别器 壁纸预览 图片 EXIF 血型遗传 服装尺码
  • 『ボールアンドチェイン』南Q太著 評者:三木那由他【このマンガもすごい!】
    2024-05-30

    黒柳徹子さん、北京で特別授業 「日本語勉強続けて」
    2024-05-31

    幸田文の名言「台所に立てば、…」【本と名言365】
    2024-05-30

    作曲家ビゼーの窮地を救った傑作オペラ『真珠採り』の聴きどころは?【クラシック今日は何の日?】
    2024-05-31

    “家形埴輪”大集合、総選挙も 「住宅展示場の気分で」、奈良
    2024-06-01

    デザインジャーナリストによる新しいデザイン誌の登場です!
    2024-06-01

    現代詩の「中原中也賞」、俳句で培われた言語感覚…「新たな音やリズム」ジャンルを往来し追求
    2024-06-02

    ビルケンシュトック、創業から250年の歴史を振り返る2冊を出版
    2024-06-01

    【大河ドラマ「光る君へ」本日第22話】紫式部と清少納言は「顔を合わせていなかった」?
    2024-06-01

    「工芸的美しさの行方―うつわ・包み・装飾」が東京と京都で開催。第1弾はBONDED GALLERYにて7月から
    2024-06-03

    “20世紀音楽”の発展に貢献した指揮者、クーセヴィツキー。その偉業とは【クラシック今日は何の日?】
    2024-06-03

    「ロバート」秋山さんが鳥取PR イリュージョニストに扮し
    2024-06-04

    「ロエベ ファンデーション クラフト プライズ 2024」の大賞が発表。等身大のセラミック彫刻を制作したアンドレス・アンサが受賞
    2024-06-05

    エドガー・サラン個展「EDGAR SARIN ー HUNKY DORY」(VAGUE KOBE)レポート。展示空間の可能性やその調和の在り方を問いかける
    2024-06-04

    多摩美術大学がAIやサーキュラーなど5つの最先端のテーマを研究するプラットフォームをスタート
    2024-06-04

    3日間限定発売! 名作パントンチェアが新たな魅力を纏った限定カラーで登場。
    2024-06-05

    古今東西 かしゆか商店【つづら】
    2024-06-05

    フィギュアスケートにもぴったり! ハチャトゥリアン作曲の『仮面舞踏会』【クラシック今日は何の日?】
    2024-06-06

    岡田将生の初ブランド「IN MY DEN」始動、第1弾グッズの受注販売がスタート
    2024-06-06

    ブリン・バン・バン・ボンが1位 ビルボード、上半期人気曲
    2024-06-06

    ©  Dopu Box
    💛