• 온라인 도구
  • - 계산기
    • 문자 수
  • - 다운로드
    • TikTok 다운로드
    • DouYin 다운로드
  • - 웹 도구
    • BASE64
    • Base64→이미지
    • 이미지→Base64
    • URL 인코딩
    • JavaScript
    • 타임스탬프
    • 유니코드 변환기
    • JSON 형식
    • 확장자 수정
    • 목록 만들기
    • CSS 최적화
  • - 암호화 도구
    • MD5 암호화
    • 랜덤 생성기
  • - 이미지 도구
    • 이미지 압축
    • QR 코드 생성기
    • QR 코드 리더
    • 배경 화면 미리보기
    • 이미지 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 다운로드 DouYin 다운로드 BASE64 Base64→이미지 이미지→Base64 URL 인코딩 JavaScript 타임스탬프 유니코드 변환기 JSON 형식 확장자 수정 목록 만들기 CSS 최적화 MD5 암호화 랜덤 생성기 이미지 압축 QR 코드 생성기 QR 코드 리더 배경 화면 미리보기 이미지 EXIF 혈액형 유전 의류 사이즈
  • 将棋叡王戦、藤井が勝ち最終局へ
    2024-05-30

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

    杉真理×和田唱がビートルズをとことん語る!NHK-FMの人気番組「ディスカバー・ビートルズ」がオンライン講座として復活!
    2024-06-02

    吉田南さん、バイオリン部門6位 エリザベート音楽コン、奈良出身
    2024-06-01

    まだ無名だった作曲家エルガーが、婚約の贈り物として捧げた名曲【クラシック今日は何の日?】
    2024-06-01

    中国でドラえもん映画が興行首位 国際こどもの日に12億円
    2024-06-03

    ニコライ・バーグマンが手がける北欧のジュエリーブランド〈フローラダニカ〉旗艦店が南青山にオープン。
    2024-06-03

    河合隼雄物語賞に八木詠美さん 学芸賞は湯沢規子さん
    2024-06-03

    「CLAMP展」が国立新美術館で7月より開催。展示数は史上最多の約800点
    2024-06-04

    「三島喜美代―未来への記憶」(練馬区美術館)開幕レポート。最大規模のインスタレーションも
    2024-06-05

    PARCELで「Not Quite」開催。「~でなくもない」作家が集結
    2024-06-04

    今年の「アートウィーク東京」は11月に開催。「AWT FOCUS」の監修には片岡真実
    2024-06-04

    性被害者支援の法人設立 スマイル社
    2024-06-04

    スマイル社が性犯罪被害者支援の法人設立
    2024-06-04

    「安全だと誰も言わない万博」爆発事故で教職員組合 大阪府に子供無料招待中止申し入れ
    2024-06-04

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

    安藤忠雄さん設計の美術館名称決まる…香川・直島に2025年オープン
    2024-06-05

    京都・祇園祭の「長刀鉾」稚児決まる 記者会見で「頑張ります」
    2024-06-06

    佐渡金山の世界遺産登録、「情報照会」勧告
    2024-06-06

    なぜ、いま「先住民の現代アート」なのか? 『美術手帖』2024年7月号は、「先住民の現代アート」特集
    2024-06-06

    ©  Dopu Box
    💛