Skip to content

Linux リテラシ - 第5回 演習問題 解答

This content is not available in your language yet.

:問題(1):現在使用している IP アドレスを調べよ。
ifconfig コマンドを使用します。

[root@Alixia root]# ifconfig
eth0 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)

eth0inet addr が現在の IP アドレスです。

:問題(2):現在使用しているネットワークのゲートウェイアドレスを調べよ。
講義中で補足説明した route コマンドを使用します。

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0
169.254.0.0 * 255.255.0.0 U 0 0 0 eth0
default 192.168.1.1 0.0.0.0 UG 0 0 0 eth0

defaultGateway がゲートウェイアドレスです。

:問題(3):ゲートウェイアドレスを 2 進数で表してみよ。
192.168.1.1 を 2 進数であらわすと・・・

192 = 11000000
168 = 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.jp
Server: 192.168.1.1
Address: 192.168.1.1#53
Non-authoritative answer:
Name: cis.k.hosei.ac.jp
Address: 133.25.90.34

これより、133.25.90.34 であることがわかります。

:問題(5):問題(4)で調べたIPアドレスに対して、PING を打ってみよ。

[root@Alixia root]# ping 133.25.90.34
PING 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 ms
64 bytes from 133.25.90.34: icmp_seq=1 ttl=62 time=0.324 ms
64 bytes from 133.25.90.34: icmp_seq=2 ttl=62 time=0.380 ms
64 bytes from 133.25.90.34: icmp_seq=3 ttl=62 time=0.371 ms
64 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 4000ms
rtt 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 80
Trying 133.25.90.34...
Connected to cis.k.hosei.ac.jp.
Escape character is '^]'.
HEAD / HTTP/1.0
HTTP/1.1 200 OK
Date: Wed, 22 Jun 2005 01:41:35 GMT
Server: Apache/2.0.54 (Unix) mod_ssl/2.0.54 OpenSSL/0.9.7g Resin/3.0.13 PHP/5.0.4
Last-Modified: Sun, 19 Jun 2005 04:56:34 GMT
ETag: "bc409d-1d0c-b134480"
Accept-Ranges: bytes
Content-Length: 7436
Vary: Accept-Encoding
Connection: close
Content-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.jp
traceroute: Warning: www.google.co.jp has multiple addresses; using 66.102.7.147
traceroute 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.1
PING 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 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.100 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.056 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.053 ms
64 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 4000ms
rtt 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.1
PING 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-eth0
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp

この例では、ネットワーク設定は DHCP による自動割り当てです。
netconfig コマンドでIPアドレスを ”10.20.30.40” に変更してみます。IP アドレス以外の項目はデフォルトのままでかまいません。変更後は network を restart します。

[root@Alixia root]# netconfig -d eth0
[root@Alixia root]# /etc/init.d/network restart
Shutting 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 restart
Shutting down interface eth0: [ OK ]
Shutting down loopback interface: [ OK ]
Setting network parameters: [ OK ]
Bringing up loopback interface: [ OK ]
Bringing up interface eth0: [ OK ]

接続できるようになるはずです。