加治/環境設定/zxp068
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[加治/環境設定]]
-11/09/07、ちょっと修正
*LANカード [#teb0024a]
**ドライバ [#o3d6797d]
***ログ [#t35e514f]
-tc902xでググる
-[[比例道/tc902x linux driver>http://hireido.dyndns.org/passwiki/passwiki.php?site_id=&page=tc902x+linux+driver]]を見つける
--どっかの会社に吸収されただかなんだか。
--今はIP1000という石名に変更されたらしい
-http://hireido.dyndns.org/passwiki/passwiki.php?site_id=&page=tc902x+linux+driver
--のhttp://www.icplus.com.tw/Data/driver/IP1000A%20Linux%20driver%20v2.10c.zip
--を落とし解凍
-# make all
--/lib/modules/<kernel>/buildが存在しないと怒られる
-自鯖でどういうディレクトリなのか調べる
--''build''はシンボリックリンクで、/usr/src/<kernel>-genericにつながってた。
-zxp068の/usr/src/にcd
--何もない
-Synapticで、現カーネルにあったカーネルソースをインスコ
--''buid''シンボリックリンク完成
-再度# make all
--エラー
make -C /lib/modules/2.6.32-5-686/build SUBDIRS= modules
make[1]: ディレクトリ `/usr/src/linux-headers-2.6.32-5-686' に入ります
/usr/src/linux-headers-2.6.32-5-common/scripts/Makefile.build:44: /usr/src/linux-headers-2.6.32-5-common/scripts/basic/Makefile: そのようなファイルやディレクトリはありません
make[5]: *** ターゲット `/usr/src/linux-headers-2.6.32-5-common/scripts/basic/Makefile' を make するルールがありません. 中止.
make[4]: *** [scripts_basic] エラー 2
make[3]: *** `include/config/kernel.release' に必要なターゲット `include/config/auto.conf' を make するルールがありません. 中止.
make[2]: *** [sub-make] エラー 2
make[1]: *** [all] エラー 2
make[1]: ディレクトリ `/usr/src/linux-headers-2.6.32-5-686' から出ます
make: *** [all] エラー 2
-自鯖の方には/usr/src/linux-headers-2.6.32-31-generic/scripts/basicにMakefileがシンボリックリンクとしてあり、そのリンク先は/usr/src/linux-headers-2.6.32-31/scripts/basic/Makefile(genericでない)と確認。
-よって、このマシンの/usr/src/linux-headers-2.6.32-5-686/scripts/basic/に自鯖のMakefileの内容をそのままコピーしてMakefileを作成。
-するとなぜか/usr/src/linux-headers-2.6.32-5-common/scripts/basic/にも''同じ''ファイルができている。わけわからん。
*ルータ化 [#he6a0cac]
**方向性 [#ue7fa0b9]
ns83820は、Gbps対応だが、動作確認が難しいため、ルータ化の設定だけすませるためVIAのインストール不要カードで試すことにする。
オンボードの蟹チップは、ギガ対応なので、今回はLAN内をこちらにして、WAN側をVIAチップにしてルータ構築をする。
尚、ns83820が動作したときも、下記設定ファイルのeth*を変更するだけで簡単にNICを切り替えることも出来ると思われる。
-eth0をLAN側でr8169(オンボギガビット)
-eth1を、なぜだか動作しないギガビット対応のns83820
-eth2をLAN側でvia-rhine(VIAの前田さんLANカード100M)
今回は単純化と、後の作業のしやすさを考えてDHCPの設定はせず、クライアント側でプライベートIPを固定化して使用することを想定している。
**eth*とデバイスを関連付ける [#q44ad751]
***設定 [#d224a792]
-/etc/udev/rules.d/70-persistent-net.rules
--このファイルの編集は、OS起動時に自動的にeth*を決められるのを修正するためのもの。
--設定箇所は'"eth○"'の箇所のみ。それ以外は認識さえすれば自動的に記述される。
--使用しないカードも挿したままにした。
# PCI device 0x100b:0x0022 (ns83820)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:40:f4:47:c6:64", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
# PCI device 0x10ec:0x8169 (r8169)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:13:d3:12:d9:60", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x1106:0x3043 (via-rhine)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:30:43:00:09:56", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"
保存して終了。
***参考URL [#w72fa1d4]
-http://kusumoto-jp.org/archives/2009/09/eth0eth1debian.html
**それぞれのデバイスに対する設定 [#ke150c57]
***/etc/network/interfaces[#gb946def]
-下記設定はeth*に対しての設定。WAN側に設定したVIAのeth2に対しては、研究用のマシン自体を外の世界と通信できるようにするため''だけ''の設定で、ルータとしてのセッティングは書かない。
-LAN側に割り当てたGbpsの蟹eth0に対しては、LANのルータとしての自マシンの情報を書く。
--すなわち、LANにおけるこのマシンはルータとなるので、そのルータのIPを設定して書く。(わかりやすければなんでもいいが、普通は192.168.1.''1''とか)
-あとは適当にnetmask,network,broadcastを決める。
auto eth2
iface eth2 inet static
address 163.143.94.168
netmask 255.255.255.0
network 163.143.94.0
broadcast 163.143.94.255
gateway 163.143.94.1
dns-nameservers 163.143.1.100
dns-search u-aizu.ac.jp
auto eth0
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
保存して終了。
***参考URL [#q6606696]
-http://www.ep.sci.hokudai.ac.jp/~epdns/dvlop/work_log/dns_aoi_irekaelog.htm#label-15
**WAN側から入ってきたパケットをLAN側につないであるマシンにフォワードする設定 [#u1089871]
***/etc/sysctl.conf [#s7d947f3]
net.ipv4.ip_worward=1
-先頭の#を削除して有効化する
***それを有効化する [#q93f7109]
# echo 1 > /proc/sys/net/ipv4/ip_forward
**iptablesの設定 [#mca4f0c6]
-ここまで設定すれば、ルータ化したマシンとクライアントはpingで双方向接続を確認できるが、ルータ化したマシンしか外のマシンとつながらない。
-iptablesを設定してアクセプトしてやる必要があるようだ。
***%%WAN側で受けたパケットをすべてLAN内に流す設定%%その逆じゃないの? [#p52e14ae]
sudo iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth2 -j MASQUERADE
-iptablesの形式
# iptables [ -t <table> ] [ -A <chain> ] [ <条件> ] [ <アクション> ]
- -t(--table) <table>
--テーブルを指定
- -A(--append) <chain>
--指定チェインに1つ以上の新しいルールを追加
-POSTROUTING
--受信時を変換するチェイン
- -s(--source) <IPアドレス[/mask]>
--送信元のアドレス。IPアドレスorホスト名を記述
- -o(--out-interface) <デバイス>
--パケットが出ていくインターフェイスを指定
- -j(--jump) <ターゲット>
--条件に合ったときのアクションを指定
-MASQUERADE
--マスカレード
***設定を維持 [#udb6cbb4]
iptablesコマンドは、リブート時に無効になってしまう(?)ため、ブートの度に上記コマンドを打ち込まなくてはいけない。そこで、起動時に最後にrootで実行される/etc/rc.localに
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth2 -j MASQUERADE
をexit(0)の前に挿入しセーブする。
***参考URL [#mdba3cc8]
-パケットフォワーディング関係
--http://ecpplus.net/weblog/debian-sarge%E3%83%AB%E3%83%BC%E3%82%BF%E5%8C%96%E3%83%A1%E3%83%A2/
--%%http://d.hatena.ne.jp/cyber_wing/20101224/1293207883%%
---現在無効
-iptables関係
--http://saoshi.gooside.com/
終了行:
[[加治/環境設定]]
-11/09/07、ちょっと修正
*LANカード [#teb0024a]
**ドライバ [#o3d6797d]
***ログ [#t35e514f]
-tc902xでググる
-[[比例道/tc902x linux driver>http://hireido.dyndns.org/passwiki/passwiki.php?site_id=&page=tc902x+linux+driver]]を見つける
--どっかの会社に吸収されただかなんだか。
--今はIP1000という石名に変更されたらしい
-http://hireido.dyndns.org/passwiki/passwiki.php?site_id=&page=tc902x+linux+driver
--のhttp://www.icplus.com.tw/Data/driver/IP1000A%20Linux%20driver%20v2.10c.zip
--を落とし解凍
-# make all
--/lib/modules/<kernel>/buildが存在しないと怒られる
-自鯖でどういうディレクトリなのか調べる
--''build''はシンボリックリンクで、/usr/src/<kernel>-genericにつながってた。
-zxp068の/usr/src/にcd
--何もない
-Synapticで、現カーネルにあったカーネルソースをインスコ
--''buid''シンボリックリンク完成
-再度# make all
--エラー
make -C /lib/modules/2.6.32-5-686/build SUBDIRS= modules
make[1]: ディレクトリ `/usr/src/linux-headers-2.6.32-5-686' に入ります
/usr/src/linux-headers-2.6.32-5-common/scripts/Makefile.build:44: /usr/src/linux-headers-2.6.32-5-common/scripts/basic/Makefile: そのようなファイルやディレクトリはありません
make[5]: *** ターゲット `/usr/src/linux-headers-2.6.32-5-common/scripts/basic/Makefile' を make するルールがありません. 中止.
make[4]: *** [scripts_basic] エラー 2
make[3]: *** `include/config/kernel.release' に必要なターゲット `include/config/auto.conf' を make するルールがありません. 中止.
make[2]: *** [sub-make] エラー 2
make[1]: *** [all] エラー 2
make[1]: ディレクトリ `/usr/src/linux-headers-2.6.32-5-686' から出ます
make: *** [all] エラー 2
-自鯖の方には/usr/src/linux-headers-2.6.32-31-generic/scripts/basicにMakefileがシンボリックリンクとしてあり、そのリンク先は/usr/src/linux-headers-2.6.32-31/scripts/basic/Makefile(genericでない)と確認。
-よって、このマシンの/usr/src/linux-headers-2.6.32-5-686/scripts/basic/に自鯖のMakefileの内容をそのままコピーしてMakefileを作成。
-するとなぜか/usr/src/linux-headers-2.6.32-5-common/scripts/basic/にも''同じ''ファイルができている。わけわからん。
*ルータ化 [#he6a0cac]
**方向性 [#ue7fa0b9]
ns83820は、Gbps対応だが、動作確認が難しいため、ルータ化の設定だけすませるためVIAのインストール不要カードで試すことにする。
オンボードの蟹チップは、ギガ対応なので、今回はLAN内をこちらにして、WAN側をVIAチップにしてルータ構築をする。
尚、ns83820が動作したときも、下記設定ファイルのeth*を変更するだけで簡単にNICを切り替えることも出来ると思われる。
-eth0をLAN側でr8169(オンボギガビット)
-eth1を、なぜだか動作しないギガビット対応のns83820
-eth2をLAN側でvia-rhine(VIAの前田さんLANカード100M)
今回は単純化と、後の作業のしやすさを考えてDHCPの設定はせず、クライアント側でプライベートIPを固定化して使用することを想定している。
**eth*とデバイスを関連付ける [#q44ad751]
***設定 [#d224a792]
-/etc/udev/rules.d/70-persistent-net.rules
--このファイルの編集は、OS起動時に自動的にeth*を決められるのを修正するためのもの。
--設定箇所は'"eth○"'の箇所のみ。それ以外は認識さえすれば自動的に記述される。
--使用しないカードも挿したままにした。
# PCI device 0x100b:0x0022 (ns83820)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:40:f4:47:c6:64", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
# PCI device 0x10ec:0x8169 (r8169)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:13:d3:12:d9:60", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x1106:0x3043 (via-rhine)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:30:43:00:09:56", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"
保存して終了。
***参考URL [#w72fa1d4]
-http://kusumoto-jp.org/archives/2009/09/eth0eth1debian.html
**それぞれのデバイスに対する設定 [#ke150c57]
***/etc/network/interfaces[#gb946def]
-下記設定はeth*に対しての設定。WAN側に設定したVIAのeth2に対しては、研究用のマシン自体を外の世界と通信できるようにするため''だけ''の設定で、ルータとしてのセッティングは書かない。
-LAN側に割り当てたGbpsの蟹eth0に対しては、LANのルータとしての自マシンの情報を書く。
--すなわち、LANにおけるこのマシンはルータとなるので、そのルータのIPを設定して書く。(わかりやすければなんでもいいが、普通は192.168.1.''1''とか)
-あとは適当にnetmask,network,broadcastを決める。
auto eth2
iface eth2 inet static
address 163.143.94.168
netmask 255.255.255.0
network 163.143.94.0
broadcast 163.143.94.255
gateway 163.143.94.1
dns-nameservers 163.143.1.100
dns-search u-aizu.ac.jp
auto eth0
iface eth0 inet static
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
保存して終了。
***参考URL [#q6606696]
-http://www.ep.sci.hokudai.ac.jp/~epdns/dvlop/work_log/dns_aoi_irekaelog.htm#label-15
**WAN側から入ってきたパケットをLAN側につないであるマシンにフォワードする設定 [#u1089871]
***/etc/sysctl.conf [#s7d947f3]
net.ipv4.ip_worward=1
-先頭の#を削除して有効化する
***それを有効化する [#q93f7109]
# echo 1 > /proc/sys/net/ipv4/ip_forward
**iptablesの設定 [#mca4f0c6]
-ここまで設定すれば、ルータ化したマシンとクライアントはpingで双方向接続を確認できるが、ルータ化したマシンしか外のマシンとつながらない。
-iptablesを設定してアクセプトしてやる必要があるようだ。
***%%WAN側で受けたパケットをすべてLAN内に流す設定%%その逆じゃないの? [#p52e14ae]
sudo iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth2 -j MASQUERADE
-iptablesの形式
# iptables [ -t <table> ] [ -A <chain> ] [ <条件> ] [ <アクション> ]
- -t(--table) <table>
--テーブルを指定
- -A(--append) <chain>
--指定チェインに1つ以上の新しいルールを追加
-POSTROUTING
--受信時を変換するチェイン
- -s(--source) <IPアドレス[/mask]>
--送信元のアドレス。IPアドレスorホスト名を記述
- -o(--out-interface) <デバイス>
--パケットが出ていくインターフェイスを指定
- -j(--jump) <ターゲット>
--条件に合ったときのアクションを指定
-MASQUERADE
--マスカレード
***設定を維持 [#udb6cbb4]
iptablesコマンドは、リブート時に無効になってしまう(?)ため、ブートの度に上記コマンドを打ち込まなくてはいけない。そこで、起動時に最後にrootで実行される/etc/rc.localに
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth2 -j MASQUERADE
をexit(0)の前に挿入しセーブする。
***参考URL [#mdba3cc8]
-パケットフォワーディング関係
--http://ecpplus.net/weblog/debian-sarge%E3%83%AB%E3%83%BC%E3%82%BF%E5%8C%96%E3%83%A1%E3%83%A2/
--%%http://d.hatena.ne.jp/cyber_wing/20101224/1293207883%%
---現在無効
-iptables関係
--http://saoshi.gooside.com/
ページ名: