uayeb

uayeb

uayebはマヤ暦の「無名月」

uayeb RSS Feed
 
 
 
 

ネットワークの設定(PPPoE+家庭内LAN)

・サーバから直接PPPoE接続を使わない人には以下は不要の記述となります。

1:FTPサーバの設定、からサーバ構築にお進みください。


拙宅のサーバは、ルータのPPPoEパススルー機能を使って(=ルータは素通しにして)、プロバイダに直接PPPoE接続しています。一方で、サーバは家庭内ファイルサーバでもあります。

2つの機能を提供するため、サーバは、eth0インターフェイスが192.168.1.x のアドレスを 持つと同時に、ppp0インターフェイスがとあるグローバルIPを持つ状態になっています。route的には、192.168.1.0/24 がeth0、それ以外はppp0という割り当てです。

この設定、8.04までで標準で付いてきたnetwork-admin(ネットワーク設定)を使えば簡単に構築できるのに、8.10以降で標準となったnetwork-managerだと、pppでつなぐとeth0にアクセスできなくなるなどの問題があり、ながらく8.04のまま運営していたのでした。

しかし、9.10になろうというのだから、バグも取れてるだろうと期待して、久々のPPPoEチャレンジと相成ったわけでございます。(さっさと結論/解決策/設定方法を読みたい方はこちらへ)

network-managerはどうしていつまでたってもダメなのか

pppoe1

システム→設定→ネットワーク接続 にはモバイル、VPN、DSLの設定欄があり、なんとも心強い。DSLのところで、ユーザー名とパスワードを入れる。のだが、真ん中のServiceとはいったいなんだ? とりあえず空欄で登録するが、「接続」のボタンもなく、どうすれば接続されるのかもわからない。ifconfigを見ても、PPPoEインターフェイスは発生していない。IPv4設定なども、設定項目は多いが、どう設定すべきなのか見当がつかない。「自動的に接続する」をチェックしてもつながってくれない。なんなんだこれは。

仕方がないのでぐぐると、pppoeconf というツールがあって、それを使うと設定できそうなので、さっそく試す。eth0が検出され、接続用ユーザー名とパスワードなど、質問に適当に答えていく。終了して、route してみると、ちゃんとeth0とppp0が動いている! やった! と思ったのだが、その後他の再起動すると、なぜかeth0が無効になってしまう! タスクバー上の、network managerアイコンは、アンテナ感度0のになっていて実にいらだたしい。

ただ不思議なことに、ppp0自体は生きている。ブラウザを立てればちゃんとネットにつながる。たぶん、外向けのサーバとしてだけ使うのであれば、これでもいいのだろう。しかし、家庭内ファイルサーバにならないのはたいへん不便である。

そもそもppp0は物理的にはeth0を使って通信をしているのに、eth0が見えないというのはどういうことなのだろう。ifconfigを見ると、eth0は一応存在しているが、IPアドレスはIPv6ベースのものだけが割り当てられ、IPv4のアドレスが付いていない。本当にIPv4アドレスがないのか、それとも、ppp0がeth0を完全に乗っ取ってしまっていて、OSや他のアプリからはeth0として使えなくなっているのか? 結局状況は8.10の時にあきらめて撤退したときと酷似している。 1年も経つのにまったく進歩がないとは、いったいどうなっているのか。PPPoEはそんなにマイナーな用法なのだろうか。

あきらめようかとも思ったが、ふと思い立って、8.04のときのインターフェイス設定/etc/network/interface)を参照してみたら、そこにはeth0に対しての詳しい記述がなされていた。

iface eth0 inet static
address 192.168.1.x ←xは実際には特定の数値。家庭内でのサーバのIPアドレスは固定したかったので
netmask 255.255.255.0 ←お使いのルータの仕様に合わせてください
gateway 192.168.1.1 ←同上
auto eth0

ちなみにpppoeconf設定直後は

iface eth0 inet manual
auto eth0 

となっていた。そこで、interfaceをこのように書き直し、

また、pppoeconfによってどうもいやな設定がされているこの行

pre-up /sbin/ifconfig eth0 up # line maintained by pppoeconf

をコメントアウトして

### pre-up /sbin/ifconfig eth0 up # line maintained by pppoeconf

として、ネットワークを再起動(/etc/init.d/networking restart)したところ、

無事eth0とppp0の共存が可能になりました!

使えないnetwork-managerは速攻removeしました。

念のため、interfacesのppp関連部分は

iface dsl-provider inet ppp
### pre-up /sbin/ifconfig eth0 up # line maintained by pppoeconf
provider dsl-provider
auto dsl-provider

次は:1:FTPサーバの設定


●以下のメモはubuntu x64 8.04環境下で、PPPoE+VPNの複雑な環境を作っていたときのものです。現在は必要なくなりましたので、将来同様の需要が出たときの手がかりとしてのメモです。9.04や9.10上でのテストはしていませんのでご承知おきください。

8.10ではシステム管理→ネットワークがそもそもなく、ネットワーク管理はnetwork-managerが前提となりますが、本ページではnetwork-managerでは必要とする機能を実現できず、また、8.10環境下で従来のnetwork-adminを使ってもうまく動かなかったため、8.04環境+network-admin で利用しています。なお、行おうとしたのは、「家庭内LAN内で見えるように動かしつつ」「PPPoE パススルーを使って固定IPによるサーバの公開を行いつつ」「VPNでの接続も行う」というものです。ルータにPPPoEセッションを張らせている方は、そもそも以下のような作業は必要ないと思います、そのかわりルータの設定はいるのでしょうけど…)

ネットワーク設定 @ x64 8.04

セットアップする環境:

eth0 に家庭内LAN用の192.168.x.x を割り当て。家庭内の他のマシンからサーバにローカルIPアドレスでアクセス可能に(メールやsambaなど)

ppp0 に、プロバイダの固定IPサービスを割り当て。ちなみにeth0の先にあるルータは、別のプロバイダにPPPoE接続しています。

ネットワークマネージャの調子が悪いのと、いちいちいろいろうざいので、removeします。

apt-get remove network-manager gnome-network-manager

で、システム→システム管理→ネットワーク を呼び出し、ロックを解除して、

有線接続のプロパティで、「この接続を有効にする」をチェック、設定の種類 はDHCPかIPアドレスを指定(お好きなように。私は家庭内でサーバのローカルIPを固定したいので、IPアドレス指定、にして、192.168.x.x を入れています。この場合、サブネットマスク(デフォルトで適当なのが入ると思う)、ゲートウェイアドレスの入力は必要です)。

次に、PPP接続(ppp0)のプロパティで、この接続を有効にするをチェック、それから、接続の種類はPPPoE、アカウント情報にユーザー名、パスワードを入れます。

モデム タブで、イーサネットインターフェイス にeth0 を選択。

オプション タブはご利用方法に応じてですが、うちでは全部チェックしました。

これで、ネットワークパネルのeth0とppp0をチェックして、両方に無事チェックが入ったままになればOK。念のため、端末を呼び出して、

route

してみましょう。

192.168.x.x がeth0に、そのほかがだいたいppp0になっていれば、成功でしょう。

(この設定が8.10だと、network-managerでもnetwork-adminでもうまくできなかった。まったくどうなっているのか)

VPNの設定はまた明日。

===

(以下は個人的メモ)

システム→システム管理→ネットワーク でPPPoEの情報を入力してセッションを張ろうとするとなぜか張れない(チェックをつけてもはじかれてしまう)。場合によってはネットワーク設定がハングアップ?

解決策は2つ。

・有線ネットワークの「ローミングモード」を外す(DHCPか何かにする)

・(ローミングにしたまま)右上の「ネットワークマネージャー」アプレットから「ダイヤルアップ」(設定→ネットワークでユーザー名、パスワード、インターフェイス等の設定をすませたあとで使うというやきのまわった仕様)

問題はこのうえでVPNを張りたいとき。

network-manager用のpptpプラグインを使う方法が随所で勧められている。単純にVPNするだけならこれでいいが、ppp接続したうえでVPNしようとすると、接続ができない。

VPNした状態でPPPoEはできるが、これだとDNSがPPPoE側に上書きされてしまう。

うちでの解決:network managerをアンインストール。pptp-linuxは入れて、ponコマンドの設定ファイルを記述。usepeerdnsを追加。options.pptpにmtu 1250を追加。これでpon xxxxxでVPNだけ張れるので、あとはroute addで適切なルーティングを設定。これでOKかと思ったが、一定時間後にDNSが192.168.1.1に変えられてしまう現象を発見。dhcpクライアントが上書きしているもよう。なのでLAN内IPアドレスも固定しdhcpクライアントを動かさないようにして解決。

●fetchmail でメールを取ってきています。

フォント、ブログ設置、Opera導入、Tips

  • 1076607 Visitors

  • twitter

    Pages

    カテゴリー

    メタ情報