DHCPサーバーで社内とゲストのセグメントをわける方法
DHCPサーバーで社内とゲストのセグメントをわける方法
今回設定するのは、DHCPサーバーです。 セキュリティを考慮して、 社内PCは共有可能にし、ゲストPCには、インターネットのみを提供するようにします。 ネットワークは、 社内ネットワーク = 192.168.1.0/255.255.255.0 ゲストネットワーク = 192.168.2.0/255.255.255.0 で設定しています。自分の環境に置き換えて読んでください。 参考にしたサイトは、dhcp / iptables を組み合わせた仮想的なネットワーク分離 です。まず、DHCPをインストールします。 # yum -y install dhcp # rpm -ql dhcp /etc/dhcpd.conf /etc/rc.d/init.d/dhcpd /etc/rc.d/init.d/dhcrelay /etc/sysconfig/dhcpd /etc/sysconfig/dhcrelay /usr/bin/omshell /usr/sbin/dhcpd /usr/sbin/dhcrelay /usr/share/doc/dhcp-3.0.5 /usr/share/doc/dhcp-3.0.5/IANA-arp-parameters /usr/share/doc/dhcp-3.0.5/README /usr/share/doc/dhcp-3.0.5/RELNOTES /usr/share/doc/dhcp-3.0.5/api+protocol /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample ← 設定ファイルのサンプル /usr/share/doc/dhcp-3.0.5/draft-ietf-dhc-authentication-14.txt /usr/share/doc/dhcp-3.0.5/draft-ietf-dhc-dhcp-dns-12.txt /usr/share/doc/dhcp-3.0.5/draft-ietf-dhc-failover-07.txt /usr/share/doc/dhcp-3.0.5/ja_JP.eucJP /usr/share/doc/dhcp-3.0.5/ja_JP.eucJP/dhclient-script.8 /usr/share/doc/dhcp-3.0.5/ja_JP.eucJP/dhclient.8 /usr/share/doc/dhcp-3.0.5/ja_JP.eucJP/dhclient.conf.5 /usr/share/doc/dhcp-3.0.5/ja_JP.eucJP/dhclient.leases.5 /usr/share/doc/dhcp-3.0.5/ja_JP.eucJP/dhcp-eval.5 /usr/share/doc/dhcp-3.0.5/ja_JP.eucJP/dhcp-options.5 /usr/share/doc/dhcp-3.0.5/rfc1542.txt /usr/share/doc/dhcp-3.0.5/rfc2131.txt /usr/share/doc/dhcp-3.0.5/rfc2132.txt /usr/share/doc/dhcp-3.0.5/rfc2485.txt /usr/share/doc/dhcp-3.0.5/rfc2489.txt /usr/share/doc/dhcp-3.0.5/rfc951.txt /usr/share/man/man1/omshell.1.gz /usr/share/man/man5/dhcpd-eval.5.gz /usr/share/man/man5/dhcpd-options.5.gz /usr/share/man/man5/dhcpd.conf.5.gz /usr/share/man/man5/dhcpd.leases.5.gz /usr/share/man/man8/dhcpd.8.gz /usr/share/man/man8/dhcrelay.8.gz /var/lib/dhcpd /var/lib/dhcpd/dhcpd.leases 設定ファイルのサンプルをコピーして 設定ファイルを編集します。 # cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf # vi /etc/dhcpd.conf -------------------- ここから -------------------- ddns-update-style interim; ignore client-updates; # サブネットマスクに注意 subnet 192.168.0.0 netmask 255.255.0.0 { # 以下 2行を追加 社内ネットワーク用 pool { deny unknown-clients; # --- default gateway # 以下、ルーター経由の場合は、ルーターのIPアドレス # サーバーがルーターの場合は、サーバーのIPアドレス option routers 192.168.1.1; # サブネットマスクに注意 option subnet-mask 255.255.255.0; # 以下 2行をコメントアウト #option nis-domain "domain.org"; #option domain-name "domain.org"; # 以下、ルーター経由の場合は、ルーターのIPアドレス # サーバーがルーターの場合は、プロバイダのDNSアドレスをカンマ区切りで option domain-name-servers 192.168.1.1; #option domain-name-servers XXX.XXX.XXX.XXX,XXX.XXX.XXX.XXX; option time-offset -18000; # Eastern Standard Time # option ntp-servers 192.168.1.1; # option netbios-name-servers 192.168.1.1; # --- Selects point-to-point node (default is hybrid). Don't change this unless # -- you understand Netbios very well # option netbios-node-type 2; # 以下 DHCPを割り振るIPアドレスの範囲を指定 社内ネットワーク用 range dynamic-bootp 192.168.1.128 192.168.1.254; default-lease-time 21600; max-lease-time 43200; # we want the nameserver to appear at a fixed address # 以下 5行をコメントアウト # host ns { # next-server marvin.redhat.com; # hardware ethernet 12:34:56:78:AB:CD; # fixed-address 207.175.42.254; # } # 以下 ホスト名 shanai_client1 を指定。社内ネットワーク用 host shanai_client1 { # 以下 shanai_client1 の MACアドレスを指定。 hardware ethernet xx:xx:xx:xx:xx:xx; # 以下 shanai_client1 の IPアドレスを指定。 fixed-address 192.168.1.10; } # 以下 クライアント数分指定する。 host shanai_client2 { hardware ethernet xx:xx:xx:xx:xx:xx; fixed-address 192.168.1.11; } host shanai_client3 { hardware ethernet xx:xx:xx:xx:xx:xx; fixed-address 192.168.1.12; } ・ ・ host shanai_client150 { hardware ethernet xx:xx:xx:xx:xx:xx; fixed-address 192.168.1.149; } # 以下 11行を追加 ゲストPC用 # DHCPを割り振るIPアドレスの範囲と、サブネットマスクに注意 # routers と domain-name-servers は適当に、後で設定ファイルを作成します。 } pool { allow unknown-clients; range dynamic-bootp 192.168.2.1 192.168.2.127; option subnet-mask 255.255.255.0; option broadcast-address 192.168.2.255; option routers 192.168.2.254; option domain-name-servers 192.168.2.254; default-lease-time 300 ; max-lease-time 300 ; } } -------------------- ここまで -------------------- # routers と domain-name-servers で指定したアドレスを登録します。 # vi /etc/sysconfig/network-scripts/ifcfg-eth0:0 -------------------- ここから -------------------- DEVICE=eth0:0 BROADCAST=192.168.2.255 IPADDR=192.168.2.254 # 先ほどのIPアドレスを指定 NETMASK=255.255.255.0 # サブネットマスクに注意 NETWORK=192.168.2.0 GATEWAY=192.168.1.1 # サーバーのデフォルトゲートウェイを指定 BOOTPROTO=static TYPE=Ethernet ONBOOT=yes -------------------- ここまで -------------------- # ifup eth0:0 # ifconfig eth0 Link encap:Ethernet HWaddr 12:34:56:78:ab:cd inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:44001087 errors:0 dropped:0 overruns:0 frame:0 TX packets:79897496 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:4011600638 (3.7 GiB) TX bytes:2336497570 (2.1 GiB) Base address:0xd000 Memory:e8000000-e8020000 eth0:0 Link encap:Ethernet HWaddr 12:34:56:87:ab:ce inet addr:192.168.2.254 Bcast:192.168.2.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Base address:0xd000 Memory:e8000000-e8020000 # /etc/rc.d/init.d/dhcpd start ← DHCPサーバー起動 dhcpd を起動中: [ OK ] # chkconfig dhcpd on ← DHCPサーバー自動起動設定 # chkconfig --list dhcpd ← DHCPサーバー自動起動設定確認 dhcpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off ← ランレベル2~5のonを確認 次にファイヤーウォールを設定します。 IPTABLEに関しては、かなりの知識が要りますので、登録情報の確認方法は、さんの 6. サーバー公開前のセキュリティ強化 の中の 4. ファイアウォール構築(iptables) を参照してください。 そこの一部分をちょっとだけ変えて使用します。 ※ 勝手に変えてすいません。 変えるところは、 # vi iptables.sh #!/bin/bash #---------------------------------------# # 設定開始 # #---------------------------------------# # インタフェース名定義 LAN=eth0 #---------------------------------------# # 設定終了 # #---------------------------------------# # 内部ネットワークのネットマスク取得 -------------------- ここから -------------------- #LOCALNET_MASK=`ifconfig $LAN|sed -e 's/^.*Mask:\([^ ]*\)$/\1/p' -e d` LOCALNET_MASK=255.255.0.0 # 内部ネットワークアドレス取得 #LOCALNET_ADDR=`netstat -rn|grep $LAN|grep $LOCALNET_MASK|cut -f1 -d' '` LOCALNET_ADDR=192.168.0.0 -------------------- ここまで -------------------- LOCALNET=$LOCALNET_ADDR/$LOCALNET_MASK ネットワークアドレスと、サブネットマスクに注意です。 あとは、
さんの 6. サーバー公開前のセキュリティ強化 の中の 4. ファイアウォール構築(iptables) にそってやってみてください。 設定は以上です。
社内ネットワークの場合 /etc/dhcpd.conf に自分のPCを登録して、DHCPにてアドレスを取得する。 # vi /etc/dhcpd.conf host shanai_client2 { hardware ethernet xx:xx:xx:xx:xx:xx; fixed-address 192.168.1.11; } # /etc/rc.d/init.d/dhcpd restart ← DHCPサーバー起動 dhcpd を停止中: [ OK ] dhcpd を起動中: [ OK ] Windowsであれば、コマンドにて ipconfig /release ipconfig /renew ipconfig /all を実行 Connection-specific DNS Suffix . : Description . . . . . . . . . . . : XXXXXXXXXXXXXXXXX Physical Address. . . . . . . . . : XX-XX-XX-XX-XX-XX Dhcp Enabled. . . . . . . . . . . : Yes ← DHCPサーバーが有効であることを示す Autoconfiguration Enabled . . . . : Yes IP Address. . . . . . . . . . . . : 192.168.1.11 ← DHCPサーバーから割り当てられたIPアドレス Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 192.168.1.1 ← DHCPサーバーから割り当てられたルーターのIPアドレス DHCP Server . . . . . . . . . . . : 192.168.1.1 ← DHCPサーバーのIPアドレスが返ってくるので確認 DNS Servers . . . . . . . . . . . : 192.168.1.1 ← DHCPサーバーから割り当てられたDNSサーバーのIPアドレス クライアントが、Linuxであれば # vi /etc/sysconfig/network-scripts/ifcfg-eth0 ← ネットワーク設定ファイル編集 DEVICE=eth0 ONBOOT=yes BOOTPROTO=dhcp # /etc/rc.d/init.d/network reload # ifconfig eth0 ← IPアドレス割当て状況確認 eth0 Link encap:Ethernet HWaddr XX:XX:XX:XX:XX:XX inet addr:192.168.1.11 Bcast:192.168.1.255 Mask:255.255.255.0 ← DHCPサーバーから割り当てられたIPアドレス # cat /etc/resolv.conf | grep nameserver ← 問合せ先DNSサーバーのIPアドレス確認 nameserver XXX.XXX.XXX.XXX ← DHCPサーバーから割り当てられたDNSサーバーのIPアドレス # route -n ← ルーターのIPアドレス確認 Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.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 0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0 ← DHCPサーバーから割り当てられたルーターのIPアドレス >ping 192.168.1.1 ← サーバーにping送信 Pinging 192.168.1.1 with 32 bytes of data: Reply from 192.168.1.1: bytes=32 time<1ms TTL=64 Reply from 192.168.1.1: bytes=32 time<1ms TTL=64 Reply from 192.168.1.1: bytes=32 time<1ms TTL=64 Reply from 192.168.1.1: bytes=32 time<1ms TTL=64 Ping statistics for 192.168.1.1: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms >ping 192.168.1.10 ← client1にping送信 Pinging 192.168.1.10 with 32 bytes of data: Reply from 192.168.1.10: bytes=32 time<1ms TTL=128 Reply from 192.168.1.10: bytes=32 time<1ms TTL=128 Reply from 192.168.1.10: bytes=32 time<1ms TTL=128 Reply from 192.168.1.10: bytes=32 time<1ms TTL=128 Ping statistics for 192.168.1.10: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms >ping 192.168.2.254 ← DHCPサーバーのルーターにping送信 Pinging 192.168.2.254 with 32 bytes of data: Request timed out. Request timed out. Request timed out. Request timed out. Ping statistics for 192.168.2.254: Packets: Sent = 4, Received = 0, Lost = 4 (100% loss), ゲストネットワークにはping送信ができないことの確認。 ゲストPCの場合 /etc/dhcpd.conf 内の自分のPCをコメントアウトして、DHCPにてアドレスを取得する。 # vi /etc/dhcpd.conf # host shanai_client2 { # hardware ethernet xx:xx:xx:xx:xx:xx; # fixed-address 192.168.1.11; # } # /etc/rc.d/init.d/dhcpd restart ← DHCPサーバー起動 dhcpd を停止中: [ OK ] dhcpd を起動中: [ OK ] Windowsであれば、コマンドにて ipconfig /release ipconfig /renew ipconfig /all を実行 Connection-specific DNS Suffix . : Description . . . . . . . . . . . : XXXXXXXXXXXXXXXXX Physical Address. . . . . . . . . : XX-XX-XX-XX-XX-XX Dhcp Enabled. . . . . . . . . . . : Yes ← DHCPサーバーが有効であることを示す Autoconfiguration Enabled . . . . : Yes IP Address. . . . . . . . . . . . : 192.168.2.127 ← DHCPサーバーから割り当てられたIPアドレス Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 192.168.2.254 ← DHCPサーバーから割り当てられたルーターのIPアドレス DHCP Server . . . . . . . . . . . : 192.168.1.1 ← DHCPサーバーのIPアドレスが返ってくるので確認 DNS Servers . . . . . . . . . . . : 192.168.2.254 ← DHCPサーバーから割り当てられたDNSサーバーのIPアドレス クライアントが、Linuxであれば # vi /etc/sysconfig/network-scripts/ifcfg-eth0 ← ネットワーク設定ファイル編集 DEVICE=eth0 ONBOOT=yes BOOTPROTO=dhcp # /etc/rc.d/init.d/network reload # ifconfig eth0 ← IPアドレス割当て状況確認 eth0 Link encap:Ethernet HWaddr XX:XX:XX:XX:XX:XX inet addr:192.168.2.127 Bcast:192.168.2.255 Mask:255.255.255.0 ← DHCPサーバーから割り当てられたIPアドレス # cat /etc/resolv.conf | grep nameserver ← 問合せ先DNSサーバーのIPアドレス確認 nameserver 192.168.2.254 ← DHCPサーバーから割り当てられたDNSサーバーのIPアドレス # route -n ← ルーターのIPアドレス確認 Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.2.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 0.0.0.0 192.168.2.254 0.0.0.0 UG 0 0 0 eth0 ← DHCPサーバーから割り当てられたルーターのIPアドレス >ping 192.168.1.1 ← サーバーにping送信 Pinging 192.168.1.1 with 32 bytes of data: Reply from 192.168.1.1: bytes=32 time<1ms TTL=64 Reply from 192.168.1.1: bytes=32 time<1ms TTL=64 Reply from 192.168.1.1: bytes=32 time<1ms TTL=64 Reply from 192.168.1.1: bytes=32 time<1ms TTL=64 Ping statistics for 192.168.1.1: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms >ping 192.168.1.10 ← client1にping送信 Pinging 192.168.1.10 with 32 bytes of data: Request timed out. Request timed out. Request timed out. Request timed out. Ping statistics for 192.168.1.10: Packets: Sent = 4, Received = 0, Lost = 4 (100% loss), >ping 192.168.2.254 ← DHCPサーバーのルーターにping送信 Pinging 192.168.2.254 with 32 bytes of data: Reply from 192.168.2.254: bytes=32 time<1ms TTL=64 Reply from 192.168.2.254: bytes=32 time<1ms TTL=64 Reply from 192.168.2.254: bytes=32 time<1ms TTL=64 Reply from 192.168.2.254: bytes=32 time<1ms TTL=64 Ping statistics for 192.168.2.254: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms 社内ネットワークにはping送信ができないことの確認。
telnetでログインしてPostfixのメールを操作する。
telnetでログインしてPostfixのメールを操作する。
① 送信編まず、ログイン用のパスワードをbase64エンコードしなければいけません。 ので、下記を実行、書式は print "SMTPユーザー名\000SMTPユーザー名\000SMTPパスワード" | openssl base64 # printf "server\000server\000serverpassword" | openssl base64 c2VydmVyAHNlcnZlcgBzZXJ2ZXJwYXNzd29yZA== ← エンコードされたパスワードが返ってくる。 上記で返ってきたパスワードを控えておく。 telnet でログインする。書式は telnet メールサーバー名 ポート番号 自分自身であれば、 telnet localhost 25 他のサーバーであれば、 telnet mail.lunq.net 25 送信ポートを変更しているのであれば、 telnet localhost 587 # telnet localhost 25 Trying 127.0.0.1... Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. 220 ns1.lunq.net ESMTP unknown ← サーバーから応答がある。 その後下記↓を入力。 ehlo localhost 250-ns1.lunq.net 250-PIPELINING 250-SIZE 104857600 250-VRFY 250-ETRN 250-STARTTLS 250-AUTH PLAIN LOGIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN ← サーバーから応答がある。 その後にSMTP認証する。 書式は、 auth plain base64エンコードしたパスワードの文字列 auth plain c2VydmVyAHNlcnZlcgBzZXJ2ZXJwYXNzd29yZA== 235 2.0.0 Authentication successful ← successful の文字が返ってきた場合はログインOK これから送信作業に入るのですが、大体の流れはこんな感じ mail from: 自分のメールアドレス OKが帰ってきたら rcpt to: 送信先のメールアドレス OKが帰ってきたら data 354 End data with <CR><LF>.<CR><LF> ↑ こんな感じの文字が帰ってきたら 本文をいれますが、適当に何かを入れても何も返ってきません。 ただ、エラーではないので続けて入力しましょう。 こんな感じで↓ #################################### subject: This is Subject Hellow!! This is mailtest. mailtest is good or bad? Thank you. . #################################### まず、subject: 件名 を入力する。 その後に本文を入力する。上記は1行あけたが、あけなくてもいいです。 そして、最後に「 . 」( ドット ) を入力する。これで終わりですよという意味です。 すると、こんな感じの文字が帰ってきます。 250 2.0.0 Ok: queued as DA71C21C8D1B OK とでていれば大丈夫。その後の、DA71C21C8D1B はキューナンバーです。 これでメールが届いているはずです。 最後に、quit コマンドで、終了です。 一連の流れはこんな感じです。 ########################################################## # printf "server\000server\000serverpassword" | openssl base64 c2VydmVyAHNlcnZlcgBzZXJ2ZXJwYXNzd29yZA== # telnet mail.lunq.net 25 Trying 116.91.120.138... Connected to mail.lunq.net. Escape character is '^]'. 220 ns1.lunq.net ESMTP unknown ehlo localhost 250-ns1.lunq.net 250-PIPELINING 250-SIZE 104857600 250-VRFY 250-ETRN 250-STARTTLS 250-AUTH PLAIN LOGIN 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN auth plain c2VydmVyAHNlcnZlcgBzZXJ2ZXJwYXNzd29yZA== 235 2.0.0 Authentication successful mail from: server@lunq.net 250 2.1.0 Ok rcpt to: server@lunq.net 250 2.1.5 Ok data 354 End data with <CR><LF>.<CR><LF> subject: smpt test Hi! This is test. Thank you. . 250 2.0.0 Ok: queued as DA71C21C8D1B quit ########################################################## 以上です。分かりました?② 受信編telnet でログインする。書式は telnet メールサーバー名 ポート番号 自分自身であれば、 telnet localhost 110 他のサーバーであれば、 telnet mail.lunq.net 110 # telnet localhost 110 Trying 127.0.0.1... Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. +OK Dovecot ready. ← サーバーから応答がある。 その後、ユーザー認証する。 まずは、ユーザー名。書式は、 user POPユーザー名 user server +OK ← サーバーから応答がある。 次に、パスワード。書式は、 pass POPパスワード pass serverpassword +OK Logged in. ← サーバーから応答がある。 次に、現在の情報?のコマンド stat +OK 5 6945929 ← サーバーから応答がある。 次に、保存されているリスト情報 list +OK 5 messages: ← サーバーから応答がある。 1 1428 2 6917160 3 16118 4 10360 5 863 . ← サーバーから応答がある。 上記の書式は、 メール番号 メールサイズ メールを読み込んでみる。書式は、 retr メール番号 retr 5 +OK 863 octets Return-Path: <server@lunq.net> X-Original-To: server@lunq.net Delivered-To: server@lunq.net Received: from localhost (ns1.lunq.net [127.0.0.1]) by ns1.lunq.net (Postfix) with ESMTP id 7175B7D0003 for <server@lunq.net>; Tue, 3 Feb 2009 21:38:56 +0900 (JST) X-Virus-Scanned: amavisd-new at lunq.net Received: from ns1.lunq.net ([127.0.0.1]) by localhost (ns.lunq.net [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id owY-iRKAwjUC for <server@lunq.net>; Tue, 3 Feb 2009 21:38:53 +0900 (JST) Received: from localhost (ns1.lunq.net [127.0.0.1]) by ns1.lunq.net (Postfix) with ESMTP id AC6617D0001 for <server@lunq.net>; Tue, 3 Feb 2009 21:38:28 +0900 (JST) Subject: smpt test Message-Id: <20090203123837.AC6617D0001@ns1.lunq.net> Date: Tue, 3 Feb 2009 21:38:28 +0900 (JST) From: server@lunq.net To: undisclosed-recipients:; Hi! This is test. Thank you. . 削除コマンドはこうです。書式は、 dele メール番号 dele 5 +OK Marked to be deleted. ← サーバーから応答がある。 サーバーからログアウトする。 quit +OK Logging out, messages deleted. Connection closed by foreign host. ← サーバーから応答がある。 一連の流れはこんな感じです。 ########################################################## # telnet localhost 110 Trying 127.0.0.1... Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. +OK Dovecot ready. user server +OK pass serverpassword +OK Logged in. stat +OK 5 6945929 list +OK 5 messages: 1 1428 2 6917160 3 16118 4 10360 5 863 . retr 5 +OK 863 octets Return-Path: <server@lunq.net> X-Original-To: server@lunq.net Delivered-To: server@lunq.net Received: from localhost (ns1.lunq.net [127.0.0.1]) by ns1.lunq.net (Postfix) with ESMTP id 7175B7D0003 for <server@lunq.net>; Tue, 3 Feb 2009 21:38:56 +0900 (JST) X-Virus-Scanned: amavisd-new at lunq.net Received: from ns1.lunq.net ([127.0.0.1]) by localhost (ns.lunq.net [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id owY-iRKAwjUC for <server@lunq.net>; Tue, 3 Feb 2009 21:38:53 +0900 (JST) Received: from localhost (ns1.lunq.net [127.0.0.1]) by ns1.lunq.net (Postfix) with ESMTP id AC6617D0001 for <server@lunq.net>; Tue, 3 Feb 2009 21:38:28 +0900 (JST) Subject: smpt test Message-Id: <20090203123837.AC6617D0001@ns1.lunq.net> Date: Tue, 3 Feb 2009 21:38:28 +0900 (JST) From: server@lunq.net To: undisclosed-recipients:; Hi! This is test. Thank you. . dele 5 +OK Marked to be deleted. quit +OK Logging out, messages deleted. Connection closed by foreign host. ########################################################## 以上です。分かりました?
Fedora10 PPTPクライアント
いろんなサイトで、PPTPサーバーの構築方法はあると思いますが、クライアント側がなかなかないので、構築した記録を書いときます。
1. まずVPN PPTPに必要なパッケージ、pptp-1.7.2-3.fc10.i386 をインストールする
※ 2008/12/14 現在
# yum -y install pptp
|
2. スクリプトファイルを作成する
PPTPクライアント用の設定ファイルを作成する ※ その都度接続する場合は # vi /usr/bin/pptp-client ※ 自動起動する場合は # vi /etc/rc.d/init.d/pptp-client ------------------------------ ここから ------------------------------ #!/bin/bash # # PPTP # chkconfig: - 99 20 # # description: PPTP service script # Source function library. . /etc/rc.d/init.d/functions SERVER="pptpサーバー" # 接続先のIPアドレス or ホスト名 USER="ユーザー名" # PPTP用 ユーザー名 PASSWORD="パスワード" # PPTP用 パスワード HOSTNET="192.168.0.0" # 接続先のネットワークアドレス HOSTMASK="255.255.255.0" # 接続先のネットマスク RESOLVCONF="/etc/resolv.conf" RESOLVCONFBAK="/tmp/resolv.conf.bak" DEBUG="debug" LOGLEVEL="2" case "$1" in start) if [ -z "$(/sbin/pidof pptp)" ]; then echo -n "Starting pptpd..." if [ -f $RESOLVCONF ] ;then cp -p $RESOLVCONF $RESOLVCONFBAK fi /usr/sbin/pppd \ $DEBUG lock noauth nodeflate nobsdcomp noccp \ name $USER \ password $PASSWORD \ require-mppe \ pty "/usr/sbin/pptp $SERVER --nolaunchpppd --loglevel $LOGLEVEL" sleep 5 if [ ! -z "$(/sbin/pidof pptp)" ]; then route add -net $HOSTNET netmask $HOSTMASK dev ppp0 echo -e " [\033[32m OK\033[0m ]" else echo -e " [\033[31m NG\033[0m ]" fi touch /var/lock/subsys/pptp else echo "pptpd allready running!!!" fi ;; stop) if [ -z "$(/sbin/pidof pptp)" ]; then echo "pptpd not running!!!" else echo -n "Shutting down pptpd..." /usr/bin/killall /usr/sbin/pptp if [ -f $RESOLVCONFBAK ] ;then cp -p $RESOLVCONFBAK $RESOLVCONF fi until [ -z "$(/sbin/pidof pptp)" ]; do :; done rm -f /var/lock/subsys/pptp echo -e " [\033[32m OK\033[0m ]" fi ;; status) if [ -z "$(/sbin/pidof pptp)" ]; then echo -e "pptpd not running...\n" else echo -e "pptpd is running... pid=[ \033[32m$(/sbin/pidof pptp)\033[0m ]\n" fi ;; version) echo -e "$(/usr/sbin/pptp --version)\n" ;; restart) $0 stop $0 start ;; *) echo -e "\nUsage: $0 {start|stop|restart|status|version}\n" exit 1 esac exit 0 ------------------------------ ここまで ------------------------------ PPTPクライアント用の設定ファイルに実行権を与える ※ その都度接続する場合は # chmod +x /usr/bin/pptp-client ※ 自動起動する場合は # chmod +x /etc/rc.d/init.d/pptp-client # chkconfig --add pptp-client # chkconfig pptp-client on # chkconfig --list pptp-client pptp-client 0:off 1:off 2:on 3:on 4:on 5:on 6:off |
3. PPTP接続
※ その都度接続する場合 オプション無しで開始してみる # pptp-client Usage: /usr/bin/pptp-client {start|stop|restart|status|version} ↑ヘルプが出る。 開始してみる # pptp-client start Starting pptpd... [ OK ] # ←プロンプトが帰ってきたことを確認 IPアドレスを確認する # ifconfig eth0 Link encap:Ethernet HWaddr 00:1E:90:D3:46:B1 inet addr:xxx.xxx.xxx.xxx Bcast:xxx.xxx.xxx.xxx Mask:255.255.255.0 inet6 addr: fe80::xxx:xxxx:xxxx:xxxx/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:6271143 errors:0 dropped:0 overruns:0 frame:0 TX packets:6592528 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1963469937 (1.8 GiB) TX bytes:312092375 (297.6 MiB) Interrupt:20 Base address:0x8c00 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:1251500 errors:0 dropped:0 overruns:0 frame:0 TX packets:1251500 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:181020084 (172.6 MiB) TX bytes:181020084 (172.6 MiB) 以下が追加されていることの確認 ppp0 Link encap:Point-to-Point Protocol inet addr:192.168.0.6 P-t-P:192.168.0.1 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:6 errors:0 dropped:0 overruns:0 frame:0 TX packets:5 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:60 (60.0 b) TX bytes:56 (56.0 b) サーバー側のネットワーク内のPCにpingをとばしてみる # ping -c 4 192.168.0.80 PING 192.168.0.80 (192.168.0.80) 56(84) bytes of data. 64 bytes from 192.168.0.80: icmp_seq=1 ttl=254 time=6.56 ms 64 bytes from 192.168.0.80: icmp_seq=2 ttl=254 time=6.04 ms 64 bytes from 192.168.0.80: icmp_seq=3 ttl=254 time=6.16 ms 64 bytes from 192.168.0.80: icmp_seq=4 ttl=254 time=5.92 ms --- 192.168.0.80 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3009ms rtt min/avg/max/mdev = 5.926/6.175/6.562/0.238 ms ↑ エラーが帰ってきていないことの確認。 これでつながった状態になっている。 # pptp-client status pptpd is running... pid=[ 3677 3662 ] # pptp-client version pptp version 1.7.2 切断してみる # pptp-client stop Shutting down pptpd... [ OK ] # ←プロンプトが帰ってきたことを確認 IPアドレスを確認する # ifconfig eth0 Link encap:Ethernet HWaddr 00:1E:90:D3:46:B1 inet addr:xxx.xxx.xxx.xxx Bcast:xxx.xxx.xxx.xxx Mask:255.255.255.0 inet6 addr: fe80::xxx:xxxx:xxxx:xxxx/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:6271143 errors:0 dropped:0 overruns:0 frame:0 TX packets:6592528 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1963469937 (1.8 GiB) TX bytes:312092375 (297.6 MiB) Interrupt:20 Base address:0x8c00 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:1251500 errors:0 dropped:0 overruns:0 frame:0 TX packets:1251500 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:181020084 (172.6 MiB) TX bytes:181020084 (172.6 MiB) ↑ ppp0 がなくなっている サーバー側のネットワーク内のPCにpingをとばしてみる # ping -c 4 192.168.0.80 PING 192.168.0.80 (192.168.0.80) 56(84) bytes of data. --- 192.168.0.80 ping statistics --- 4 packets transmitted, 0 received, 100% packet loss, time 12999ms ↑ エラーが帰ってきていることの確認。 これで切断された状態になっている。 以上です。 |
Fedora10 インストール
Fedora10 インストール
「 IIJ 」 のFTPサイトからディスクイメージをダウンロードする。↓ http://ftp.iij.ad.jp/pub/linux/fedora/releases/10/Fedora/i386/iso/Fedora-10-i386-netinst.iso ダウンロードしたイメージファイルをCDに書き込む。 書き込むソフトはおのおの選択してください。 DeepBurnerとかは無料なのでお勧めです。 VMware系にインストールするのであれば、 「 DAEMON Tools 」 等を使用して 仮想CDでマウントさせておくという事もできますし、 設定ファイルを以下のように書き換えてもいけます。 # ----- CD-ROM Drive ----- ide1:0.present = "true" #ide1:0.fileName = "auto detect" #ide1:0.deviceType = "atapi-cdrom" #ide1:0.fileName = "linux.iso" ide1:0.fileName = "boot.iso" ide1:0.deviceType = "cdrom-image" 書き込みが終われば、そのCDをfedora10をインストールするマシンの CD-ROM、もしくはDVD-ROMにセットして起動させます。 ちなみに当サイトは、VMware Player(Ver.2.5) にインストールしました。上の画面が出てきたら、「 Enter 」 を押す。
上の画面が出てきたら、一番上を選んで 「 Enter 」 を押す。 すると、こんなのが出てくる。
インストールメディアをチェックしますか?みたいなメッセージですので、 「 Skip 」 を押す。
上記画面が出てきたら、「 Next 」 を押す。
「 Japanese(日本語) 」 を選択し、 「 Next 」 を押す。
「 Japanese 」 を選択して、 「 次(N) 」 を押す。
「 インストール(I) Fedora 」 を選択して、 「 次(N) 」 を押す。 ※ アップグレードは、お勧めしません。後々の設定が結構大変だと思いますので。
「 ホスト名: 」 を適切な名前を入力して、 「 次(N) 」 を押す。
毎回なんですが、「 システムクロックで UTC を使用 」 のチェックをはずします。で、 「 次(N) 」 を押す。
「 ルートパスワード (P) : 」 を入力して、 「 確認 (C) : 」 を入力して、 「 次(N) 」 を押す。
インストールするパーティションを指定します。当サイトは、 「 選択したドライブ上のすべての・・・ 」 を選択しましたが、 ※ 必要に応じて、選択してください。 ( Windows と、デュアルブートとかの場合は、上記設定でインストールすると Windows は消えますよ! ) 「 次(N) 」 を押す。
「 変更をディスクに書き込む (W) 」 を押す。
ネットワークの設定です。固定アドレスにする場合は、 「 動的 IP 設定 (DHCP) を・・・(N) 」 のチェックをはずして、 アドレスを指定します。 「 OK(O) 」 を押す。
デフォルトでは、「 オフィスとプロダクティビティ 」 にチェックが入っていますが、 サーバー環境であれば必要ないと思います。 必要に応じてチェックしてください。 「 今すぐカスタマイズする(C) 」 を選択して、 「 次(N) 」 を押す。
追加するパッケージを選択する画面です。必要に応じて、チェックを入れましょう。 後で何をインストールをするのか分かりませんので、 左側の、「 開発 」 を選択して、 右側の、「 開発ツール 」「 開発ライブラリ 」 は、選択しておきましょう。 ※ ただインターネットとメールだけとかの場合はいらないと思いますが、一応・・・。 「 次(N) 」 を押す。
上画面がインストール中の画面です。
上画面がインストール完了画面です。 ちなみに、VMWare にCD-Imageでインストールすると、CDを取り出そうとして、なんかメッセージが出てきます。 その場合は、「 NO 」 を選択しましょう。 すると上画面が出てきます。 間違って、「 OK 」 を押すと、ロックしてしまい最悪の状態になりますよ。
上画面が起動時の画面です。プレビュー版もそうでしたが、 何が起動しているかわからなくなりましたね。
で、相変わらずの「 ようこそ 」 画面です。 「 進む(F) 」 を押します。
また、「 進む(F) 」 を押します。
「 ユーザーの作成 」 です。 管理用のユーザーを作るので、適当な名前と、パスワードを入力して、 「 進む(F) 」 を押します。
日付と時間を指定して、「 進む(F) 」 を押します。
「 プロフィールを送信しない(D) 」 を選択して、 「 終了(F) 」 を押します。
「 いいえ、送信しません(F) 」 を押します。
上画面が、ログイン画面です。ログインしてみましょう。
上画面が、GNOME です。ちなみに何もせずに、インターネットはつながりました。
こちらは、LXDE です。こちらも、なにもせずに、インターネットにつながりました。 GNOME よりは、軽い気がします。見た目も Windows チックな感じでとっつきやすいです。 いじょうで、インストールは終了です。 そのうち、設定編を作成します。
Fedora9 PPTPクライアント
いろんなサイトで、PPTPサーバーの構築方法はあると思いますが、クライアント側がなかなかないので、構築した記録を書いときます。
1. まずVPN PPTPに必要なパッケージ、pptp-1.7.1-4.fc9.i386、pptpconfig(GUI設定ツール)をインストールする
※ 2008/11/12 現在
# yum -y install pptp ここからはGUI用のパッケージです。 コマンド環境では必要ないと思います。 ので、その下の [ 2. スクリプトの作成 ] へ。 ※ 当サイトでは入れてしまいましたが。もし上だけで無理でしたら一応入れてみてください。 # yum -y install gtk+ # yum -y install libglade # wget http://pptpclient.sourceforge.net/yum/stable/fc9/i386/pptpconfig-20060821-1.fc9.noarch.rpm # wget http://pptpclient.sourceforge.net/yum/stable/fc9/i386/php4-pcntl-4.4.9-1.fc9.i386.rpm # wget http://pptpclient.sourceforge.net/yum/stable/fc9/i386/php4-pcntl-gtk-1.0.2-4.fc9.i386.rpm # rpm -ivh php4-pcntl-4.4.9-1.fc9.i386.rpm # rpm -ivh php4-pcntl-gtk-1.0.2-4.fc9.i386.rpm # rpm -ivh pptpconfig-20060821-1.fc9.noarch.rpm |
2. スクリプトファイルを作成する
PPTPクライアント用の設定ファイルを作成する # vi /usr/bin/pptp-client ------------------------------ ここから ------------------------------ #!/bin/sh SERVER="接続先サーバ" # 接続先のIPアドレス or ホスト名 USER="ユーザ名" # PPTP用 ユーザー名 PASSWORD="パスワード" # PPTP用 パスワード HOSTNET="192.168.0.0" # 接続先のネットワークアドレス HOSTMASK="255.255.255.0" # 接続先のネットマスク RESOLVCONF="/etc/resolv.conf" RESOLVCONFBAK="/tmp/resolv.conf.bak" DEBUG="debug" LOGLEVEL="2" case "$1" in start) if [ -z $(/sbin/pidof pptp) ]; then echo -n "Starting pptp-client" if [ -f $RESOLVCONF ] ;then cp -p $RESOLVCONF $RESOLVCONFBAK fi /usr/sbin/pppd \ $DEBUG lock noauth nodeflate nobsdcomp noccp \ name $USER \ password $PASSWORD \ require-mppe \ pty "/usr/sbin/pptp $SERVER --nolaunchpppd --loglevel $LOGLEVEL" sleep 10 route add -net $HOSTNET netmask $HOSTMASK dev ppp0 echo else echo "pptp-client is already started" fi ;; stop) if [ ! -z $(/sbin/pidof pptp) ]; then echo -n "Shutting down pptp-client" /usr/bin/killall pptp if [ -f $RESOLVCONFBAK ] ;then cp -p $RESOLVCONFBAK $RESOLVCONF fi echo else echo "pptp-client is not running" fi ;; restart) if [ ! -z $(/sbin/pidof pptp) ]; then echo -n "Shutting down pptp-client" /usr/bin/killall pptp if [ -f $RESOLVCONFBAK ] ;then cp -p $RESOLVCONFBAK $RESOLVCONF fi echo else echo "pptp-client is not running" fi if [ -z $(/sbin/pidof pptp) ]; then echo -n "Starting pptp-client" if [ -f $RESOLVCONF ] ;then cp -p $RESOLVCONF $RESOLVCONFBAK fi /usr/sbin/pppd \ $DEBUG lock noauth nodeflate nobsdcomp noccp \ name $USER \ password $PASSWORD \ require-mppe \ pty "/usr/sbin/pptp $SERVER --nolaunchpppd --loglevel $LOGLEVEL" sleep 10 route add -net $HOSTNET netmask $HOSTMASK dev ppp0 echo else echo "pptp-client is already started" fi ;; status) if [ ! -z $(/sbin/pidof pptp) ] ; then echo -n "pptp-client (pid" echo -n " `/sbin/pidof pptp`" echo ") is running..." else echo "pptp-client is stopped" fi ;; *) echo "Usage: $0 {start|stop|restart|status}" exit 1 ;; esac exit 0 ------------------------------ ここまで ------------------------------ PPTPクライアント用の設定ファイルに実行権を与える # chmod +x /usr/bin/pptp-client |
3. PPTP接続
オプション無しで開始してみる # pptp-client Usage: /usr/bin/pptp-client {start|stop|restart|status} ↑ヘルプが出る。 開始してみる # pptp-client start Starting pptp-client # ←プロンプトが帰ってきたことを確認 IPアドレスを確認する # ifconfig eth0 Link encap:Ethernet HWaddr 00:1E:90:D3:46:B1 inet addr:xxx.xxx.xxx.xxx Bcast:xxx.xxx.xxx.xxx Mask:255.255.255.0 inet6 addr: fe80::xxx:xxxx:xxxx:xxxx/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:6271143 errors:0 dropped:0 overruns:0 frame:0 TX packets:6592528 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1963469937 (1.8 GiB) TX bytes:312092375 (297.6 MiB) Interrupt:20 Base address:0x8c00 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:1251500 errors:0 dropped:0 overruns:0 frame:0 TX packets:1251500 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:181020084 (172.6 MiB) TX bytes:181020084 (172.6 MiB) 以下が追加されていることの確認 ppp0 Link encap:Point-to-Point Protocol inet addr:192.168.0.6 P-t-P:192.168.0.1 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 RX packets:6 errors:0 dropped:0 overruns:0 frame:0 TX packets:5 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:60 (60.0 b) TX bytes:56 (56.0 b) サーバー側のネットワーク内のPCにpingをとばしてみる # ping -c 4 192.168.0.80 PING 192.168.0.80 (192.168.0.80) 56(84) bytes of data. 64 bytes from 192.168.0.80: icmp_seq=1 ttl=254 time=6.56 ms 64 bytes from 192.168.0.80: icmp_seq=2 ttl=254 time=6.04 ms 64 bytes from 192.168.0.80: icmp_seq=3 ttl=254 time=6.16 ms 64 bytes from 192.168.0.80: icmp_seq=4 ttl=254 time=5.92 ms --- 192.168.0.80 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3009ms rtt min/avg/max/mdev = 5.926/6.175/6.562/0.238 ms ↑ エラーが帰ってきていないことの確認。 これでつながった状態になっている。 切断してみる # pptp-client stop Shutting down pptp-client # ←プロンプトが帰ってきたことを確認 IPアドレスを確認する # ifconfig eth0 Link encap:Ethernet HWaddr 00:1E:90:D3:46:B1 inet addr:xxx.xxx.xxx.xxx Bcast:xxx.xxx.xxx.xxx Mask:255.255.255.0 inet6 addr: fe80::xxx:xxxx:xxxx:xxxx/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:6271143 errors:0 dropped:0 overruns:0 frame:0 TX packets:6592528 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1963469937 (1.8 GiB) TX bytes:312092375 (297.6 MiB) Interrupt:20 Base address:0x8c00 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:1251500 errors:0 dropped:0 overruns:0 frame:0 TX packets:1251500 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:181020084 (172.6 MiB) TX bytes:181020084 (172.6 MiB) ↑ ppp0 がなくなっている サーバー側のネットワーク内のPCにpingをとばしてみる # ping -c 4 192.168.0.80 PING 192.168.0.80 (192.168.0.80) 56(84) bytes of data. --- 192.168.0.80 ping statistics --- 4 packets transmitted, 0 received, 100% packet loss, time 12999ms ↑ エラーが帰ってきていることの確認。 これで切断された状態になっている。 以上です。 GUI環境の場合は、 # pptpconfig で、設定画面が現れるので ① Linux VPN v0.30 ② Fedora Core 4でYAMAHAルータにPPTPアクセス ↑ この辺を参考に |
次ページへ »




























