Linux リテラシ - 第5回 演習問題 解答
:問題(1):現在使用している IP アドレスを調べよ。
ifconfig コマンドを使用します。
[root@Alixia root]# ifconfigeth0 Link encap:Ethernet HWaddr 00:D0:B7:2A:40:5D inet addr:192.168.1.54 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:56 errors:0 dropped:0 overruns:0 frame:0 TX packets:56 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:5455 (5.3 Kb) TX bytes:5455 (5.3 Kb)eth0 の inet addr が現在の IP アドレスです。
:問題(2):現在使用しているネットワークのゲートウェイアドレスを調べよ。
講義中で補足説明した route コマンドを使用します。
Kernel IP routing tableDestination Gateway Genmask Flags Metric Ref Use Iface192.168.1.0 * 255.255.255.0 U 0 0 0 eth0169.254.0.0 * 255.255.0.0 U 0 0 0 eth0default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0default の Gateway がゲートウェイアドレスです。
:問題(3):ゲートウェイアドレスを 2 進数で表してみよ。
192.168.1.1 を 2 進数であらわすと・・・
192 = 11000000168 = 10101000 1 = 00000001 1 = 00000001なので、11000000.10101000.00000001.00000001 となります。
:問題(4):http://cis.k.hosei.ac.jp/ が運用されているサーバの IP アドレスを調べよ。
nslookup コマンドを使用します。
[root@Alixia root]# nslookup cis.k.hosei.ac.jpServer: 192.168.1.1Address: 192.168.1.1#53
Non-authoritative answer:Name: cis.k.hosei.ac.jpAddress: 133.25.90.34これより、133.25.90.34 であることがわかります。
:問題(5):問題(4)で調べたIPアドレスに対して、PING を打ってみよ。
[root@Alixia root]# ping 133.25.90.34PING 133.25.90.34 (133.25.90.34) 56(84) bytes of data.64 bytes from 133.25.90.34: icmp_seq=0 ttl=62 time=0.393 ms64 bytes from 133.25.90.34: icmp_seq=1 ttl=62 time=0.324 ms64 bytes from 133.25.90.34: icmp_seq=2 ttl=62 time=0.380 ms64 bytes from 133.25.90.34: icmp_seq=3 ttl=62 time=0.371 ms64 bytes from 133.25.90.34: icmp_seq=4 ttl=62 time=0.351 ms
--- 133.25.90.34 ping statistics ---5 packets transmitted, 5 received, 0% packet loss, time 4000msrtt min/avg/max/mdev = 0.324/0.363/0.393/0.034 ms, pipe 2:問題(6):ブラウザで http://cis.k.hosei.ac.jp:80/ でアクセスするとどうなるか調べてみよ。
情報科学部の Web サイトが表示されるはずです。
:問題(7):ブラウザで http://cis.k.hosei.ac.jp:81/ でアクセスするとどうなるか調べてみよ。
”ページを表示できません” などと表示されるはずです。
:問題(8):80 と 81 で結果が異なるのはなぜか。
問題(7) では、cis.k.hosei.ac.jp のポート 81 にアクセスしています。しかし、一般の Web サーバー同様 cis.k.hosei.ac.jp でも Web サービスはポート 80 で実行されているためにこのような結果になります。
:問題(9):telnet で cis.k.hosei.ac.jp のポート 80 にアクセスし、「HEAD / HTTP/1.0」 と入力して Enter を2回押すとどうなるか調べ、それが何を意味するか考えよ。
[root@Alixia root]# telnet cis.k.hosei.ac.jp 80Trying 133.25.90.34...Connected to cis.k.hosei.ac.jp.Escape character is '^]'.HEAD / HTTP/1.0
HTTP/1.1 200 OKDate: Wed, 22 Jun 2005 01:41:35 GMTServer: Apache/2.0.54 (Unix) mod_ssl/2.0.54 OpenSSL/0.9.7g Resin/3.0.13 PHP/5.0.4Last-Modified: Sun, 19 Jun 2005 04:56:34 GMTETag: "bc409d-1d0c-b134480"Accept-Ranges: bytesContent-Length: 7436Vary: Accept-EncodingConnection: closeContent-Type: text/html
Connection closed by foreign host.問題(6)-(8) で、cis.k.hosei.ac.jp のポート 80 で Web サービスが実行されていることがわかりました。よって、この問題は実際に Web サーバーに接続し、文字列を送信していることになります。「HEAD / HTTP/1.0」は、「/ という URI のヘッダー」を要求する HTTP リクエストです。Enter を 2 回押したのは、HTTP のリクエストが空行で区切られるからです。HTTPについては、RFC 2616 を参照してください。
:問題(10):www.google.co.jp にはどのようなネットワーク経路を辿ってアクセスしているの確認せよ。
traceroute コマンドを使用します。
[root@Alixia root]# traceroute www.google.co.jptraceroute: Warning: www.google.co.jp has multiple addresses; using 66.102.7.147traceroute to www.l.google.com (66.102.7.147), 30 hops max, 38 byte packets 1 gw-in.klab.k.hosei.ac.jp (133.25.236.65) 0.240 ms 0.169 ms 0.131 ms 2 133.25.82.2 (133.25.82.2) 0.425 ms 0.350 ms 0.368 ms 3 133.25.112.242 (133.25.112.242) 1.301 ms 1.111 ms 1.467 ms 4 133.25.112.225 (133.25.112.225) 2.691 ms 1.493 ms 1.475 ms 5 noukou-FE4-0-0.sinet.ad.jp (150.99.139.1) 1.218 ms 1.407 ms 1.217 ms----- (以下略) -----:問題(11):ループバックアドレスに PING を打ってみよ。
[root@Alixia root]# ping 127.0.0.1PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.102 ms64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.100 ms64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.056 ms64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.053 ms64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.092 ms
--- 127.0.0.1 ping statistics ---5 packets transmitted, 5 received, 0% packet loss, time 4000msrtt min/avg/max/mdev = 0.053/0.080/0.102/0.023 ms, pipe 2:問題(12):iptables でループバックアドレスからの ICMP 要求を許可しないように設定し、有効にせよ。
/etc/sysconfig/iptables が以下のような内容であればよいでしょう。
----- (略) -----
-A INPUT -p icmp -s 127.0.0.1 -j REJECT-A INPUT -i lo -j ACCEPT
----- (略) -----:問題(13):再度ループバックアドレスに PING を打ってみよ。
[root@Alixia root]# ping 127.0.0.1PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
--- 127.0.0.1 ping statistics ---5 packets transmitted, 0 received, 100% packet loss, time 3999ms:問題(14):現在使用しているネットワーク設定を記録し、手動で設定し直し、設定を有効にしてネットワークに接続できるか確認せよ。
[root@Alixia root]# cat /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0ONBOOT=yesBOOTPROTO=dhcpこの例では、ネットワーク設定は DHCP による自動割り当てです。
netconfig コマンドでIPアドレスを ”10.20.30.40” に変更してみます。IP アドレス以外の項目はデフォルトのままでかまいません。変更後は network を restart します。
[root@Alixia root]# netconfig -d eth0[root@Alixia root]# /etc/init.d/network restartShutting down interface eth0: [ OK ]Shutting down loopback interface: [ OK ]Setting network parameters: [ OK ]Bringing up loopback interface: [ OK ]Bringing up interface eth0: [ OK ]接続できるかは実際に telnet などで確認してください。
:問題(15):固定した IP アドレスを元に戻してみよ。
元の設定が自動割当だったので、netconfig コマンドで 動的 IP 設定を使用する にチェックをつけます。
:問題(16):コンピューターに接続した LAN ケーブルをいったん抜いて、また挿しなおし、ネットワークに接続できるか確認せよ。
いったん抜いて、”充分時間がたった後に” 挿しなおすと接続できなくなっているはずです。
:問題(17):network デーモンを再起動して、ネットワークに接続できるか確認せよ。
[root@Alixia root]# /etc/init.d/network restartShutting down interface eth0: [ OK ]Shutting down loopback interface: [ OK ]Setting network parameters: [ OK ]Bringing up loopback interface: [ OK ]Bringing up interface eth0: [ OK ]接続できるようになるはずです。