centos 7-linuxホストを使用して静的ルータをシミュレート
12478 ワード
準備作業:routeを使用してルーティングを操作する出力情報の解析 フィールド
釈義
ターゲットネットワークまたはターゲットホスト
ゲートウェイアドレスまたは'*'(未設定の場合)すなわち、ネットワークはこのIPを介して接続される.表示‘0.0.0.0’は、このルーティングが直接自機から送信されたことを示す.IP表示がある場合は、本経路がこのIPの転送を経て出なければならないことを示す.
ターゲットネットワークのサブネットマスク,'255.255.255.255′はホストであり、′0.0である.0.0’はデフォルトのルーティングである.つまりnetmask;destinationとgenmaskは完全なネットワークに結合されている.
U(route is up)は、このルーティングが正常に起動するH(target is host)ターゲットルーティングがホストであることを示し、ネットワークG(use gateway)ではなく外部のホストを介して転送する必要があることを示し、転送データR(reinstate route for dynamic routing)が動的ルーティングを使用する場合、リカバリルーティング情報識別D(dynamically installed bu daemon or redirect)は、サービスによって動的ルーティングM(modified from routing daemon orredirect)に設定され、ルーティングが変更されたことを示す!(reject route)このルーティングは受け入れられません(安全でないネットワークに抵抗するために使用されます)
ルーティングの対象ネットワークアドレスに到達するには、いくつかのネットワークノード{hop}が必要である.
このルーティングルールの数を参照
このルーティングルールを参照する転送パケットがいくつかあります
ルーティング対応のネットワークインタフェースデバイス
このルーティングによるTCP接続のデフォルトの最大メッセージ長
このルーティングによるTCP接続のデフォルトウィンドウサイズ
初期RTTの往復時間命令の一般的な使い方 一般的なディレクティブフォーマット:
一般的なディレクティブオプション:
効用
通信プロトコルやホスト名を使用せずにipアドレス出力を直接使用
より詳細なルーティング情報を表示
ルーティング情報の追加
ルーティング情報の削除
ネットワークを追加し、ネットワーク番号のアドレスをすぐに追加する必要があります.
ホストの追加
サブネットを設定し、サブネットマスクアドレスに続く必要があります.
ゲートウェイ情報、ゲートウェイアドレスに続く
どのネットワークデバイスを介してオンラインに出るかを設定し、ネットワークデバイス名に続く
準備作業:IPエージェント転送機能のオン/オフ方法
プロファイル内の
準備作業:ゲートウェイGATEWAY
ゲートウェイ(gateway)は、ネットワーク間コネクタ、またはプロトコルコンバータと呼ぶこともできる.OSIモデルでは、転送層に属する、主な役割は、2つの上位プロトコルの異なるセグメントを相互接続することである.ゲートウェイには異なる分類基準があり、ゲートウェイにも様々な種類があるが、そのうち
環境構築:ホストとダミーの構成
VMnet9 :
VMnet10 :2台のダミーマシンを異なるセグメントのホストとしてクローンし、ゲートウェイを配置しないようにテストする.
ホストA
ホストBアナログルートであるホストを配置するには、追加する必要がある
ダミールーティングホスト仮想ルーティングホストを開く
仮想ルーティングホスト
ホストA
ホストB
終了:この時点でホストAとホストBは互いに通信可能となる.
釈義
Destination
ターゲットネットワークまたはターゲットホスト
Gateway
ゲートウェイアドレスまたは'*'(未設定の場合)すなわち、ネットワークはこのIPを介して接続される.表示‘0.0.0.0’は、このルーティングが直接自機から送信されたことを示す.IP表示がある場合は、本経路がこのIPの転送を経て出なければならないことを示す.
Genmask
ターゲットネットワークのサブネットマスク,'255.255.255.255′はホストであり、′0.0である.0.0’はデフォルトのルーティングである.つまりnetmask;destinationとgenmaskは完全なネットワークに結合されている.
Flags
U(route is up)は、このルーティングが正常に起動するH(target is host)ターゲットルーティングがホストであることを示し、ネットワークG(use gateway)ではなく外部のホストを介して転送する必要があることを示し、転送データR(reinstate route for dynamic routing)が動的ルーティングを使用する場合、リカバリルーティング情報識別D(dynamically installed bu daemon or redirect)は、サービスによって動的ルーティングM(modified from routing daemon orredirect)に設定され、ルーティングが変更されたことを示す!(reject route)このルーティングは受け入れられません(安全でないネットワークに抵抗するために使用されます)
Metric
ルーティングの対象ネットワークアドレスに到達するには、いくつかのネットワークノード{hop}が必要である.
Ref
このルーティングルールの数を参照
Use
このルーティングルールを参照する転送パケットがいくつかあります
Iface
ルーティング対応のネットワークインタフェースデバイス
MSS
このルーティングによるTCP接続のデフォルトの最大メッセージ長
Window
このルーティングによるTCP接続のデフォルトウィンドウサイズ
irtt
初期RTTの往復時間
:
route [n|ee]
:
route add|del [-net] [IP/CIDR] [gw|dev] [ ]
route add|del [-net|-host] [ ] netmask [mask] [gw|dev] [ ]
一般的なディレクティブオプション:
route
オプション効用
n
通信プロトコルやホスト名を使用せずにipアドレス出力を直接使用
ee
より詳細なルーティング情報を表示
add
ルーティング情報の追加
del
ルーティング情報の削除
-net
ネットワークを追加し、ネットワーク番号のアドレスをすぐに追加する必要があります.
-host
ホストの追加
netmask
サブネットを設定し、サブネットマスクアドレスに続く必要があります.
gw
ゲートウェイ情報、ゲートウェイアドレスに続く
dev
どのネットワークデバイスを介してオンラインに出るかを設定し、ネットワークデバイス名に続く
準備作業:IPエージェント転送機能のオン/オフ方法
[root@centos6 ~]#
[root@centos6 ~]# cat /etc/sysctl.conf | grep ip_forward
net.ipv4.ip_forward = 0
[root@centos6 ~]#
プロファイル内の
net.ipv4.ip_forward
値を1に変更し、sysctl -p
を実行すると、IPエージェント転送機能がオンになります.逆に0はオフであり、同様にコマンドを実行するかホストを再起動する必要がある.準備作業:ゲートウェイGATEWAY
ゲートウェイ(gateway)は、ネットワーク間コネクタ、またはプロトコルコンバータと呼ぶこともできる.OSIモデルでは、転送層に属する、主な役割は、2つの上位プロトコルの異なるセグメントを相互接続することである.ゲートウェイには異なる分類基準があり、ゲートウェイにも様々な種類があるが、そのうち
TCP/IP
プロトコルのゲートウェイが最も一般的である.
:一方のネットワークが他方のネットワークのipアドレスに通信する.
:セグメント内で利用可能なipアドレスは、一般に192.168のように1番目または最後である.0.1または192.168である.0.254. はっきり言って、2つの異なるセグメントのホストは通信を行い、2つのセグメントのゲートウェイを経なければ実現できない.一般的なルータにはデフォルトのゲートウェイアドレスがあり、通常は
と呼ぶ.環境構築:ホストとダミーの構成
VMware Workstation
で2つカスタマイズhost-only
(ホストモードのみ)のアダプタ.ソフトウェア選択の経路は、
・
・・テスト環境はカスタムVMnet9
およびVMnet10
を選択するが、ホストモードのアダプタ環境のみ、ホストホストに配置されたアダプタIPは、ダミーのゲートウェイアドレスGATEWAY
であることに注意が必要である.以下は2つのテストアダプタのパラメータである:192.168.88.0/24
および192.168.99.0/24
.VMnet9 :
VMware Network Adapter VMnet9:
DNS . . . . . . . :
. . . . . . . . . . . . . . . : VMware Virtual Ethernet Adapter for VMnet9
. . . . . . . . . . . . . : 00-50-56-C0-00-09
DHCP . . . . . . . . . . . :
. . . . . . . . . . :
IPv6 . . . . . . . . : fe80::193c:41ce:fdc7:253d%43( )
IPv4 . . . . . . . . . . . . : 192.168.88.254( )
. . . . . . . . . . . . : 255.255.255.0
. . . . . . . . . . . . . :
DHCPv6 IAID . . . . . . . . . . . : 721440854
DHCPv6 DUID . . . . . . . : 00-01-00-01-23-FF-C4-A7-C8-5B-76-1A-BC-9B
DNS . . . . . . . . . . . : fec0:0:0:ffff::1%1
fec0:0:0:ffff::2%1
fec0:0:0:ffff::3%1
TCPIP NetBIOS . . . . . . . :
VMnet10 :
VMware Network Adapter VMnet10:
DNS . . . . . . . :
. . . . . . . . . . . . . . . : VMware Virtual Ethernet Adapter for VMnet10
. . . . . . . . . . . . . : 00-50-56-C0-00-0A
DHCP . . . . . . . . . . . :
. . . . . . . . . . :
IPv6 . . . . . . . . : fe80::9416:a31d:2f36:db8e%44( )
IPv4 . . . . . . . . . . . . : 192.168.99.254( )
. . . . . . . . . . . . : 255.255.255.0
. . . . . . . . . . . . . :
DHCPv6 IAID . . . . . . . . . . . : 738218070
DHCPv6 DUID . . . . . . . : 00-01-00-01-23-FF-C4-A7-C8-5B-76-1A-BC-9B
DNS . . . . . . . . . . . : fec0:0:0:ffff::1%1
fec0:0:0:ffff::2%1
fec0:0:0:ffff::3%1
TCPIP NetBIOS . . . . . . . :
ホストA
88/24-net
の配置、セグメント:192.168.88.0/24
、IP:192.168.88.140
.ルーティング確認ゲートウェイが通じるかどうかを確認し、ping 99セグメントのアドレスを試みる.[root@88/24-net ~]#
[root@88/24-net ~]# cat /etc/centos-release
CentOS release 6.3 (Final)
[root@88/24-net ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=yes
IPADDR=192.168.88.140
NETMASK=255.255.255.0
NETWORK=192.168.88.0
BROADCAST=192.168.88.255
HWADDR=00:0C:29:9C:82:80
NAME=eth0
[root@88/24-net ~]#
[root@88/24-net ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.88.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
[root@88/24-net ~]# ping 192.168.88.254
PING 192.168.88.254 (192.168.88.254) 56(84) bytes of data.
64 bytes from 192.168.88.254: icmp_seq=1 ttl=64 time=0.478 ms
64 bytes from 192.168.88.254: icmp_seq=2 ttl=64 time=0.458 ms
64 bytes from 192.168.88.254: icmp_seq=3 ttl=64 time=1.09 ms
64 bytes from 192.168.88.254: icmp_seq=4 ttl=64 time=0.398 ms
^C
--- 192.168.88.254 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3265ms
rtt min/avg/max/mdev = 0.398/0.606/1.092/0.282 ms
[root@88/24-net ~]#
[root@88/24-net ~]# ping 192.168.99.254
connect: Network is unreachable
[root@88/24-net ~]#
ホストB
99/24-net
の配置、セグメント:192.168.99.0/24
、IP:192.168.99.140
.ルーティング確認ゲートウェイが通じるかどうかを確認し、ping 88セグメントのアドレスを試みる.[root@99/24-net ~]#
[root@99/24-net ~]# cat /etc/centos-release
CentOS release 6.3 (Final)
[root@99/24-net ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=yes
IPADDR=192.168.99.140
NETMASK=255.255.255.0
NETWORK=192.168.99.0
BROADCAST=192.168.99.255
HWADDR=00:0C:29:A6:E2:AF
NAME=eth0
[root@99/24-net ~]#
[root@99/24-net ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.99.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth1
[root@99/24-net ~]# ping 192.168.99.254
PING 192.168.99.254 (192.168.99.254) 56(84) bytes of data.
64 bytes from 192.168.99.254: icmp_seq=1 ttl=64 time=0.194 ms
64 bytes from 192.168.99.254: icmp_seq=2 ttl=64 time=0.357 ms
64 bytes from 192.168.99.254: icmp_seq=3 ttl=64 time=0.389 ms
64 bytes from 192.168.99.254: icmp_seq=4 ttl=64 time=0.386 ms
^C
--- 192.168.99.254 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3445ms
rtt min/avg/max/mdev = 0.194/0.331/0.389/0.082 ms
[root@99/24-net ~]#
[root@99/24-net ~]# ping 192.168.88.254
connect: Network is unreachable
[root@99/24-net ~]#
VMnet9
とVMnet10
の2つのNICが必要であり、同様にゲートウェイを配置する必要はない.セグメント192.168.88.0/24のIPは192.168.88.130
、セグメント192.168である.99.0/24のIPは192.168.99.130
である.最後に、ネットワークセグメントのホストと通信可能かどうかをテストする.ダミールーティングホスト
vm-router
のネットワーク構成:[root@vm-router network-scripts]#
[root@vm-router network-scripts]# pwd
/etc/sysconfig/network-scripts
[root@vm-router network-scripts]# cat /etc/centos-release
CentOS Linux release 7.4.1708 (Core)
[root@vm-router network-scripts]# cat ifcfg-ens32
ONBOOT=yes
IPADDR=192.168.88.130
NETMASK=255.255.255.0
BROADCAST=192.168.88.255
NETWORK=192.168.88.0
HWADDR=00:0C:29:D3:24:1B
NAME=ens32
[root@vm-router network-scripts]# cat ifcfg-ens34
ONBOOT=yes
IPADDR=192.168.99.130
NETMASK=255.255.255.0
BROADCAST=192.168.99.255
NETWORK=192.168.99.0
HWADDR=00:0C:29:D3:24:25
NAME=ens32
[root@vm-router network-scripts]# cd
[root@vm-router ~]#
[root@vm-router ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 ens32
169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 ens34
192.168.88.0 0.0.0.0 255.255.255.0 U 0 0 0 ens32
192.168.99.0 0.0.0.0 255.255.255.0 U 0 0 0 ens34
[root@vm-router ~]# ping 192.168.88.140
PING 192.168.88.140 (192.168.88.140) 56(84) bytes of data.
64 bytes from 192.168.88.140: icmp_seq=1 ttl=64 time=0.640 ms
64 bytes from 192.168.88.140: icmp_seq=2 ttl=64 time=0.575 ms
^C
--- 192.168.88.140 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1009ms
rtt min/avg/max/mdev = 0.575/0.607/0.640/0.040 ms
[root@vm-router ~]# ping 192.168.99.140
PING 192.168.99.140 (192.168.99.140) 56(84) bytes of data.
64 bytes from 192.168.99.140: icmp_seq=1 ttl=64 time=1.35 ms
64 bytes from 192.168.99.140: icmp_seq=2 ttl=64 time=0.658 ms
^C
--- 192.168.99.140 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 0.658/1.007/1.357/0.350 ms
[root@vm-router ~]#
vm-router
のIPアドレス転送機能を2台のホストAとホストBに1つのルーティングルールを追加する.仮想ルーティングホスト
vm-router
IPアドレス転送機能をオン.(念のため、NICを再起動)[root@vm-router ~]#
[root@vm-router ~]# sysctl -p
[root@vm-router ~]# echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
[root@vm-router ~]# sysctl -p
net.ipv4.ip_forward = 1
[root@vm-router ~]# systemctl restart network
[root@vm-router ~]#
ホストA
88/24-net
ダミールーティングホストの同セグメントIPをゲートウェイとするルーティングルールを追加する.[root@88/24-net ~]#
[root@88/24-net ~]# route add -net 192.168.99.0/24 gw 192.168.88.130
[root@88/24-net ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.99.0 192.168.88.130 255.255.255.0 UG 0 0 0 eth0
192.168.88.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
[root@88/24-net ~]#
[root@88/24-net ~]# ping 192.168.99.140
PING 192.168.99.140 (192.168.99.140) 56(84) bytes of data.
64 bytes from 192.168.99.140: icmp_seq=1 ttl=63 time=0.949 ms
64 bytes from 192.168.99.140: icmp_seq=2 ttl=63 time=1.27 ms
64 bytes from 192.168.99.140: icmp_seq=3 ttl=63 time=1.31 ms
64 bytes from 192.168.99.140: icmp_seq=4 ttl=63 time=1.22 ms
^C
--- 192.168.99.140 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3320ms
rtt min/avg/max/mdev = 0.949/1.191/1.319/0.148 ms
[root@88/24-net ~]#
ホストB
99/24-net
同様にルーティングルールを追加する、仮想ルーティングホストの同セグメントIPをゲートウェイとする.[root@99/24-net ~]#
[root@99/24-net ~]# route add -net 192.168.88.0/24 gw 192.168.99.130
[root@99/24-net ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.99.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
192.168.88.0 192.168.99.130 255.255.255.0 UG 0 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth1
[root@99/24-net ~]#
[root@99/24-net ~]# ping 192.168.88.140
PING 192.168.88.140 (192.168.88.140) 56(84) bytes of data.
64 bytes from 192.168.88.140: icmp_seq=1 ttl=63 time=0.820 ms
64 bytes from 192.168.88.140: icmp_seq=2 ttl=63 time=1.21 ms
64 bytes from 192.168.88.140: icmp_seq=3 ttl=63 time=1.35 ms
64 bytes from 192.168.88.140: icmp_seq=4 ttl=63 time=1.15 ms
^C
--- 192.168.88.140 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3288ms
rtt min/avg/max/mdev = 0.820/1.135/1.350/0.197 ms
[root@99/24-net ~]#
終了:この時点でホストAとホストBは互いに通信可能となる.