Fedora Linuxサーバーをルーターにする
QMACloneが夜間に重くなる原因を調査しているのだが、ネットワークに詳しい人に聞いたところ、Corega製の安物ルーターのせいではないかとアドバイスを頂いた。そこで、YAMAHAやNTT-ME製のルーターに買い換えようと思ったのだが、近くのPCショップには置いていなかった。仕方なく、LinuxサーバーにNICを2枚差してルーターにすることにした。設定方法を備忘録として書いておく。
Linuxサーバーに追加した設定は以下の通り。
PPPoEを用いてネットに繋ぐ
"rp-pppoe"というパッケージをインストールすると"pppoe-*"というコマンドが使えるようになる。このうち"pppoe-setup"というコマンドで、PPPoEの設定ができる。"pppoe-start"でPPPoE接続を開始、"pppoe-stop"で切断。
WAN側のNICの設定ファイル"/etc/sysconfig/network-scripts/ifcfg-*"は以下のようにしておくと、起動時にDHCPクライアントがタイムアウトするのを待たずに済むようになるらしい。
DEVICE="(インターフェース名)" ONBOOT="yes"
新しく差したNICを立ち上げる
Fedora15からはNICのインターフェース名の命名規則が変わったため、若干分かりにくい。"ifconfig -a"でインタフェース名が確認できるのでメモ。"/etc/sysconfig/network-scripts/ifcfg-*"を以下のように設定する。
DEVICE="(インターフェース名)" ONBOOT="yes" BOOTPROTO="static" TYPE="Ethernet" IPADDR="192.168.0.1" NETMASK="255.255.255.0" NETADDR="192.168.0.0" BROADCAST="192.168.0.255" PEERDNS="no"
"sudo /etc/init.d/network restart"して設定を反映させる。
DHCPサーバーを立ち上げる
DHCPサーバーをインストールする。
$ sudo yum install dhcp
設定ファイル"sudoedit /etc/dhcp/dhcpd.conf"の内容は以下の通り。
subnet 192.168.0.0 netmask 255.255.255.0 { option routers 192.168.0.1; option subnet-mask 255.255.255.0; option domain-name-servers 143.90.130.39, 143.90.130.165, 8.8.8.8, 8.8.4.4; range dynamic-bootp 192.168.0.128 192.168.0.191; default-lease-time 21600; max-lease-time 43200; }
DNSサーバーを立ち上げるのが面倒だったため、ISPのDNSサーバーを直書きしてしまった。後半二つはGoogleが提供しているDNS。
起動時に起動するようにする。
$ sudo systemctl enable dhcpd.service
LANの内側からWANに繋がるようにする
iptablesでIPマスカレードを行う。設定はwebmin経由が楽。以下のコマンドを打っておく。
echo "1" > /proc/sys/net/ipv4/ip_forward
参考リンク
- PPPoEクライアントの設定 http://www.nina.jp/server/redhat/network/pppoe-client.html
- Linuxルーター構築(rp-pppoe+iptables) - CentOSで自宅サーバー構築 http://centossrv.com/linux-router.shtml
- /etc/sysconfig/network-script/ifcfg-eth* 設定項目 ? server-memo.net http://www.server-memo.net/server/linux-setting/ifcfg-eth
- @IT:DHCPサーバを立てるには http://www.atmarkit.co.jp/flinux/rensai/linuxtips/539usedhcpd.html
- @IT:natテーブルを利用したLinuxルータの作成(2/6) http://www.atmarkit.co.jp/flinux/rensai/iptables02/iptables02b.html