2009-10-25
ライブドアに引っ越します
元々はてなという会社に惹かれてブログを利用していたのですが、足りない機能や技術的な問題が多々あり、ライブドアに引っ越すことにしました。
とにかくJavascriptやiframeが使えないのが難点です。
アクセス解析とかよくわからないファイルアップロード機能よりもこちらを先に何とかして欲しかったのですが、改善されそうな感じもしないのであきらめることにしました。
自作するというのもいいのですが、やるからには弊社でブログサービスごとやりたいですし、そうなると一番の問題はPINGやトラックバックなんですよね。
今はトラックバック荒らし等が多いため、新参のサービスは中々、他のブログサービスで認められなかったりするのが難点です。
そんななか、ライブドアブログでJavascriptを使えるという話を耳にしまして、実際にアカウントを作成したところあっさり設置できたので切り替えることにしました。
ちなみに新しいURLは下記になりますので、ブックマークされてる方、RSS登録されている方はお手数をおかけしますが切り替えをお願いします。
2009-10-22
Fedora11でPCルーター構築
PCルーター構築をまとめた情報がみつからなかったのでまとめてみました。
【PCルーターの設計】

・グローバルIPアドレス1個で、内部の複数のマシンが同時にインターネットを利用できるようにする(IPマスカレード)
・各種サーバーサービスに必要なポート以外の外部からのアクセスは遮断する(ファイアウォール)
【必要な機器】
・ネットワークアダプタ(NIC)×2
※ルーターとするサーバーには、インターネット(外部向け)接続用とハブ(内部向け)接続用に2枚必要
・ハブ
【ネットワーク情報】
ネットワークアドレス:192.168.1.0/24
FedoraサーバーIPアドレス:192.168.1.1固定
クライアントIPアドレス:192.168.1.2〜192.168.1.254
まずPPPoE接続のために「rp-pppoe」が必要になります。
Fedora11ではインストール時にデフォルトで上記がインストールされません。
インストール時に導入するには、インストール中のソフトウェア選択時に「今すぐカスタマイズする」を選択して、「ベースシステム」の「ダイアルアップネットワークサポート」にチェックを入れて下さい。
後からインストールする場合は、下記コマンドでできます。
# su
# yum install rp-pppoe
次にNIC2枚それぞれの設定をします。
まずeth0を外部用に設定します。
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
ONBOOT=no
次にeth1を内部用に設定します。
# vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.1
NETMASK=255.255.255.0
NETWORK=192.168.1.0
BROADCAST=192.168.1.255
GATEWAY=192.168.1.1
上記を設定したらネットワークを反映させます。
# /etc/rc.d/init.d/network restart
次にインターネット接続用のPPPoE設定を行います。
# pppoe-setup
Welcome to the ADSL client setup. First, I will run some checks on
your system to make sure the PPPoE client is installed properly...
LOGIN NAME
Enter your Login Name (default root): XXXXXXXX ← プロバイダから通知された接続IDを応答
Enter the Ethernet interface connected to the ADSL modem
For Solaris, this is likely to be something like /dev/hme0.
For Linux, it will be ethX, where 'X' is a number.
(default eth0): eth0 ← eth0応答
Do you want the link to come up on demand, or stay up continuously?
If you want it to come up on demand, enter the idle time in seconds
after which the link should be dropped. If you want the link to
stay up permanently, enter 'no' (two letters, lower-case.)
NOTE: Demand-activated links do not interact well with dynamic IP
addresses. You may have some problems with demand-activated links.
Enter the demand value (default no): ← 空ENTER
Please enter the IP address of your ISP's primary DNS server.
If your ISP claims that 'the server will provide dynamic DNS addresses',
enter 'server' (all lower-case) here.
If you just press enter, I will assume you know what you are
doing and not modify your DNS setup.
Enter the DNS information here: ← 空ENTER
PASSWORD
Please enter your Password: ← プロバイダから通知されたパスワードを応答※表示はされない
Please re-enter your Password: ← プロバイダから通知されたパスワードを応答(確認)※表示はされない
USERCTRL
Please enter 'yes' (two letters, lower-case.) if you want to allow
normal user to start or stop DSL connection (default yes): no ← no応答(rootユーザのみインターネット接続操作を許可)
FIREWALLING
Please choose the firewall rules to use. Note that these rules are
very basic. You are strongly encouraged to use a more sophisticated
firewall setup; however, these will provide basic security. If you
are running any servers on your machine, you must choose 'NONE' and
set up firewalling yourself. Otherwise, the firewall rules will deny
access to all standard servers like Web, e-mail, ftp, etc. If you
are using SSH, the rules will block outgoing SSH connections which
allocate a privileged source port.
The firewall choices are:
0 - NONE: This script will not set any firewall rules. You are responsible
for ensuring the security of your machine. You are STRONGLY
recommended to use some kind of firewall rules.
1 - STANDALONE: Appropriate for a basic stand-alone web-surfing workstation
2 - MASQUERADE: Appropriate for a machine acting as an Internet gateway
for a LAN
Choose a type of firewall (0-2): 1 ← 1応答
Start this connection at boot time
Do you want to start this connection at boot time?
Please enter no or yes (default no): ← 空ENTER
** Summary of what you entered **
User name: XXXXXXXX
Activate-on-demand: No
DNS: Do not adjust
Firewalling: MASQUERADE
User Control: no
Accept these settings and adjust configuration files (y/n)? y ← 設定確認してy応答
Adjusting /etc/sysconfig/network-scripts/ifcfg-ppp0
Adjusting /etc/ppp/chap-secrets and /etc/ppp/pap-secrets
(But first backing it up to /etc/ppp/chap-secrets.bak)
(But first backing it up to /etc/ppp/pap-secrets.bak)
Congratulations, it should be all set up!
Type '/sbin/ifup ppp0' to bring up your xDSL link and '/sbin/ifdown ppp0'to bring it down.
Type '/sbin/adsl-status /etc/sysconfig/network-scripts/ifcfg-ppp0'to see the link status.
# sed -i '/^nameserver/d' /etc/resolv.conf
# echo "nameserver XXX.XXX.XXX.XXX" >> /etc/resolv.conf ← 問合せ先DNSサーバーにプロバイダから通知されたDNSサーバー(プライマリ)を設定
# echo "nameserver XXX.XXX.XXX.XXX" >> /etc/resolv.conf ← 問合せ先DNSサーバーにプロバイダから通知されたDNSサーバー(セカンダリ)を設定
次に下記コマンドでインターネット接続ができますので、無事接続できたか確認をして下さい。
# /etc/rc.d/init.d/network restart
# pppoe-start
無事接続できましたら、IPマスカレード&ファイアウォール設定スクリプトを作成します。
#!/bin/bash
#---------------------------------------#
# 設定開始 #
#---------------------------------------#
# 内部インタフェース名定義
LAN=eth0
# 公開外部インタフェース名定義
PUBLIC_WAN=ppp0
SERVER=192.168.1.1
#---------------------------------------#
# 設定終了 #
#---------------------------------------#
# 自ホストプライベートIPアドレス
IPADDR=192.168.1.1
# 内部ネットワークのネットマスク
LOCALNET_MASK=255.255.255.0
# 内部ネットワークアドレス取得
LOCALNET_ADDR=`netstat -rn|grep $LAN|grep $LOCALNET_MASK|grep 0.0.0.0|cut -f1 -d' '`
LOCALNET=$LOCALNET_ADDR/$LOCALNET_MASK
# ※マルチセッション対応
cd /etc/sysconfig/network-scripts
WANLIST=`ls ifcfg-ppp* | LANG=C egrep -v '(ifcfg-lo|:|-range|rpmsave|rpmorig|rpmnew)' | \
LANG=C egrep -v '(~|\.bak)$' | \
LANG=C egrep 'ifcfg-[A-Za-z0-9\._-]+$' | \
sed 's/^ifcfg-//g' |
sed 's/[0-9]/ &/' | LANG=C sort -k 1,1 -k 2n | sed 's/ //'`
# 読み込み対象モジュール追加
sed -i '/IPTABLES_MODULES/d' /etc/sysconfig/iptables-config
modinfo ip_nat_pptp > /dev/null 2>&1
if [ $? -eq 0 ]; then
echo "IPTABLES_MODULES=\"ip_conntrack_ftp ip_nat_ftp ip_nat_pptp\"" >> /etc/sysconfig/iptables-config
else
echo "IPTABLES_MODULES=\"ip_conntrack_ftp ip_nat_ftp\"" >> /etc/sysconfig/iptables-config
fi
# パケット転送停止
# ※ルール設定中のパケット通過防止
sysctl -w net.ipv4.ip_forward=0 > /dev/null
# ファイアウォール停止(すべてのルールをクリア)
/etc/rc.d/init.d/iptables stop
# デフォルトルール(以降のルールにマッチしなかった場合に適用するルール)設定
iptables -P INPUT DROP # 受信はすべて破棄
iptables -P OUTPUT ACCEPT # 送信はすべて許可
iptables -P FORWARD DROP # 通過はすべて破棄
# SYN Cookiesを有効にする
sysctl -w net.ipv4.tcp_syncookies=1 > /dev/null
sed -i '/net.ipv4.tcp_syncookies/d' /etc/sysctl.conf
echo "net.ipv4.tcp_syncookies=1" >> /etc/sysctl.conf
# ※Smurf攻撃対策
sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1 > /dev/null
sed -i '/net.ipv4.icmp_echo_ignore_broadcasts/d' /etc/sysctl.conf
echo "net.ipv4.icmp_echo_ignore_broadcasts=1" >> /etc/sysctl.conf
# ICMP Redirectパケットは拒否
sed -i '/net.ipv4.conf.*.accept_redirects/d' /etc/sysctl.conf
for dev in `ls /proc/sys/net/ipv4/conf/`
do
sysctl -w net.ipv4.conf.$dev.accept_redirects=0 > /dev/null
echo "net.ipv4.conf.$dev.accept_redirects=0" >> /etc/sysctl.conf
done
# Source Routedパケットは拒否
sed -i '/net.ipv4.conf.*.accept_source_route/d' /etc/sysctl.conf
for dev in `ls /proc/sys/net/ipv4/conf/`
do
sysctl -w net.ipv4.conf.$dev.accept_source_route=0 > /dev/null
echo "net.ipv4.conf.$dev.accept_source_route=0" >> /etc/sysctl.conf
done
iptables -N LOG_FRAGMENT
iptables -A LOG_FRAGMENT -j LOG --log-tcp-options --log-ip-options --log-prefix '[IPTABLES FRAGMENT] : '
iptables -A LOG_FRAGMENT -j DROP
iptables -A INPUT -f -j LOG_FRAGMENT
iptables -A FORWARD -f -j LOG_FRAGMENT
# 外部からの送信元がプライベートIPアドレスのパケットはログを記録して破棄
# ※IP spoofing攻撃対策
iptables -N LOG_SPOOFING
iptables -A LOG_SPOOFING -j LOG --log-tcp-options --log-ip-options --log-prefix '[IPTABLES SPOOFING] : '
iptables -A LOG_SPOOFING -j DROP
for WAN in $WANLIST
do
iptables -A INPUT -i $WAN -s 127.0.0.0/8 -j LOG_SPOOFING
iptables -A INPUT -i $WAN -s 10.0.0.0/8 -j LOG_SPOOFING
iptables -A INPUT -i $WAN -s 172.16.0.0/12 -j LOG_SPOOFING
iptables -A INPUT -i $WAN -s 192.168.0.0/16 -j LOG_SPOOFING
iptables -A FORWARD -i $WAN -s 127.0.0.0/8 -j LOG_SPOOFING
iptables -A FORWARD -i $WAN -s 10.0.0.0/8 -j LOG_SPOOFING
iptables -A FORWARD -i $WAN -s 172.16.0.0/12 -j LOG_SPOOFING
iptables -A FORWARD -i $WAN -s 192.168.0.0/16 -j LOG_SPOOFING
done
# 外部とのNetBIOS関連のアクセスはログを記録せずに破棄
for WAN in $WANLIST
do
iptables -A INPUT -i $WAN -p tcp -m multiport --dports 135,137,138,139,445 -j DROP
iptables -A INPUT -i $WAN -p udp -m multiport --dports 135,137,138,139,445 -j DROP
iptables -A OUTPUT -o $WAN -p tcp -m multiport --sports 135,137,138,139,445 -j DROP
iptables -A OUTPUT -o $WAN -p udp -m multiport --sports 135,137,138,139,445 -j DROP
iptables -A FORWARD -i $WAN -p tcp -m multiport --dports 135,137,138,139,445 -j DROP
iptables -A FORWARD -i $WAN -p udp -m multiport --dports 135,137,138,139,445 -j DROP
iptables -A FORWARD -o $WAN -p tcp -m multiport --sports 135,137,138,139,445 -j DROP
iptables -A FORWARD -o $WAN -p udp -m multiport --sports 135,137,138,139,445 -j DROP
done
# 1秒間に4回を超えるpingはログを記録して破棄
iptables -N LOG_PINGDEATH
iptables -A LOG_PINGDEATH -m limit --limit 1/s --limit-burst 4 -j ACCEPT
iptables -A LOG_PINGDEATH -j LOG --log-prefix '[IPTABLES PINGDEATH] : '
iptables -A LOG_PINGDEATH -j DROP
iptables -A INPUT -p icmp --icmp-type echo-request -j LOG_PINGDEATH
iptables -A FORWARD -o ! $WAN -p icmp --icmp-type echo-request -j LOG_PINGDEATH
# 送信元IPアドレスが内部ネットワーク範囲外のアクセスはログを記録して破棄
# ※Ingress対策
iptables -N LOG_INGRESS
iptables -A LOG_INGRESS -j LOG --log-tcp-options --log-ip-options --log-prefix '[IPTABLES INGRESS] : '
iptables -A LOG_INGRESS -j DROP
iptables -A FORWARD -i $LAN -s ! $LOCALNET -j LOG_INGRESS
# パスMTU問題対処
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
# 自ホストからのアクセスをすべて許可
iptables -A INPUT -i lo -j ACCEPT
# 内部からのアクセスをすべて許可
iptables -A INPUT -i $LAN -j ACCEPT
iptables -A FORWARD -i $LAN -j ACCEPT
# 内部からのインターネットへの同時接続を可能にする
# ※IP masquerade(NAPT)
for WAN in $WANLIST
do
iptables -t nat -A POSTROUTING -o $WAN -j MASQUERADE
done
# 内部から行ったアクセスに対する外部からの返答アクセスを許可
for WAN in $WANLIST
do
iptables -A INPUT -i $WAN -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i $WAN -m state --state ESTABLISHED,RELATED -j ACCEPT
done
# 外部からの必須ICMPパケットを許可
iptables -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT
iptables -A INPUT -p icmp --icmp-type source-quench -j ACCEPT
iptables -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT
iptables -A INPUT -p icmp --icmp-type parameter-problem -j ACCEPT
iptables -A FORWARD -p icmp --icmp-type destination-unreachable -j ACCEPT
iptables -A FORWARD -p icmp --icmp-type source-quench -j ACCEPT
iptables -A FORWARD -p icmp --icmp-type time-exceeded -j ACCEPT
iptables -A FORWARD -p icmp --icmp-type parameter-problem -j ACCEPT
# 113番ポート(IDENT)へのアクセスには拒否応答
# ※メールサーバ等のレスポンス低下防止
iptables -A INPUT -p tcp --dport 113 -j REJECT --reject-with tcp-reset
iptables -A FORWARD -p tcp --dport 113 -j REJECT --reject-with tcp-reset
#----------------------------------------------------------#
# 自ホストが各種サービスを公開する場合の設定(ここから) #
#----------------------------------------------------------#
router_eq_server(){
iptables -A INPUT -i $PUBLIC_WAN -p tcp --dport 22 -j ACCEPT
# 外部からのTCP/UDP53番ポート(DNS)へのアクセスを許可
iptables -A INPUT -i $PUBLIC_WAN -p tcp --dport 53 -j ACCEPT
iptables -A INPUT -i $PUBLIC_WAN -p udp --dport 53 -j ACCEPT
# ※Webサーバーを公開する場合のみ
iptables -A INPUT -i $PUBLIC_WAN -p tcp --dport 80 -j ACCEPT
# 外部からの443番ポート(HTTPS)へのアクセスを許可
# ※Webサーバーを公開する場合のみ
iptables -A INPUT -i $PUBLIC_WAN -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -i $PUBLIC_WAN -p tcp --dport 21 -j ACCEPT
# 外部からのPASV用ポート(FTP-DATA)へのアクセスを許可
# ※PASV用ポート60000:60030は当サイトの設定例
iptables -A INPUT -i $PUBLIC_WAN -p tcp --dport 60000:60030 -j ACCEPT
iptables -A INPUT -i $PUBLIC_WAN -p tcp --dport 25 -j ACCEPT
# 外部からの465番ポート(SMTPS)へのアクセスを許可
# ※SMTPSサーバーを公開する場合のみ
iptables -A INPUT -i $PUBLIC_WAN -p tcp --dport 465 -j ACCEPT
iptables -A INPUT -i $PUBLIC_WAN -p tcp --dport 110 -j ACCEPT
# 外部からの995番ポート(POP3S)へのアクセスを許可
# ※POP3Sサーバーを公開する場合のみ
iptables -A INPUT -i $PUBLIC_WAN -p tcp --dport 995 -j ACCEPT
iptables -A INPUT -i $PUBLIC_WAN -p tcp --dport 143 -j ACCEPT
# 外部からの993番ポート(IMAPS)へのアクセスを許可
# ※IMAPSサーバーを公開する場合のみ
iptables -A INPUT -i $PUBLIC_WAN -p tcp --dport 993 -j ACCEPT
# 外部からの1723番ポート(PPTP)へのアクセスを許可
iptables -A INPUT -i $PUBLIC_WAN -p tcp --dport 1723 -j ACCEPT
iptables -A INPUT -i $PUBLIC_WAN -p gre -j ACCEPT
}
#----------------------------------------------------------#
# 自ホストが各種サービスを公開する場合の設定(ここまで) #
#----------------------------------------------------------#
#----------------------------------------------------------#
# 他ホストが各種サービスを公開する場合の設定(ここから) #
#----------------------------------------------------------#
router_ne_server(){
# 外部からの公開サーバーの22番ポート(SSH)へのアクセスを許可&転送
iptables -A FORWARD -i $PUBLIC_WAN -p tcp -d $SERVER --dport 22 -j ACCEPT
iptables -t nat -A PREROUTING -i $PUBLIC_WAN -p tcp --dport 22 -j DNAT --to $SERVER
# 外部からの公開サーバーのTCP/UDP53番ポート(DNS)へのアクセスを許可&転送
iptables -A FORWARD -i $PUBLIC_WAN -p tcp -d $SERVER --dport 53 -j ACCEPT
iptables -t nat -A PREROUTING -i $PUBLIC_WAN -p tcp --dport 53 -j DNAT --to $SERVER
iptables -A FORWARD -i $PUBLIC_WAN -p udp -d $SERVER --dport 53 -j ACCEPT
iptables -t nat -A PREROUTING -i $PUBLIC_WAN -p udp --dport 53 -j DNAT --to $SERVER
# 外部からの公開サーバーの80番ポート(HTTP)へのアクセスを許可&転送
# ※Webサーバーを公開する場合のみ
iptables -A FORWARD -i $PUBLIC_WAN -p tcp -d $SERVER --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -i $PUBLIC_WAN -p tcp --dport 80 -j DNAT --to $SERVER
# 外部からの公開サーバーの443番ポート(HTTPS)へのアクセスを許可&転送
# ※Webサーバーを公開する場合のみ
iptables -A FORWARD -i $PUBLIC_WAN -p tcp -d $SERVER --dport 443 -j ACCEPT
iptables -t nat -A PREROUTING -i $PUBLIC_WAN -p tcp --dport 443 -j DNAT --to $SERVER
# 外部からの公開サーバーの21番ポート(FTP)へのアクセスを許可&転送
iptables -A FORWARD -i $PUBLIC_WAN -p tcp -d $SERVER --dport 21 -j ACCEPT
iptables -t nat -A PREROUTING -i $PUBLIC_WAN -p tcp --dport 21 -j DNAT --to $SERVER
# 外部からの公開サーバーのPASV用ポート(FTP-DATA)へのアクセスを許可&転送
# ※PASV用ポート60000:60030は当サイトの設定例
iptables -A FORWARD -i $PUBLIC_WAN -p tcp -d $SERVER --dport 60000:60030 -j ACCEPT
iptables -t nat -A PREROUTING -i $PUBLIC_WAN -p tcp --dport 60000:60030 -j DNAT --to $SERVER
# 外部からの公開サーバーの25番ポート(SMTP)へのアクセスを許可&転送
iptables -A FORWARD -i $PUBLIC_WAN -p tcp -d $SERVER --dport 25 -j ACCEPT
iptables -t nat -A PREROUTING -i $PUBLIC_WAN -p tcp --dport 25 -j DNAT --to $SERVER
# 外部からの公開サーバーの465番ポート(SMTPS)へのアクセスを許可&転送
# ※SMTPSサーバーを公開する場合のみ
iptables -A FORWARD -i $PUBLIC_WAN -p tcp -d $SERVER --dport 465 -j ACCEPT
iptables -t nat -A PREROUTING -i $PUBLIC_WAN -p tcp --dport 465 -j DNAT --to $SERVER
# 外部からの公開サーバーの110番ポート(POP3)へのアクセスを許可&転送
iptables -A FORWARD -i $PUBLIC_WAN -p tcp -d $SERVER --dport 110 -j ACCEPT
iptables -t nat -A PREROUTING -i $PUBLIC_WAN -p tcp --dport 110 -j DNAT --to $SERVER
# 外部からの公開サーバーの995番ポート(POP3S)へのアクセスを許可&転送
# ※POP3Sサーバーを公開する場合のみ
iptables -A FORWARD -i $PUBLIC_WAN -p tcp -d $SERVER --dport 995 -j ACCEPT
iptables -t nat -A PREROUTING -i $PUBLIC_WAN -p tcp --dport 995 -j DNAT --to $SERVER
# 外部からの公開サーバーの143番ポート(IMAP)へのアクセスを許可&転送
iptables -A FORWARD -i $PUBLIC_WAN -p tcp -d $SERVER --dport 143 -j ACCEPT
iptables -t nat -A PREROUTING -i $PUBLIC_WAN -p tcp --dport 143 -j DNAT --to $SERVER
# 外部からの公開サーバーの993番ポート(IMAPS)へのアクセスを許可&転送
# ※IMAPSサーバーを公開する場合のみ
iptables -A FORWARD -i $PUBLIC_WAN -p tcp -d $SERVER --dport 993 -j ACCEPT
iptables -t nat -A PREROUTING -i $PUBLIC_WAN -p tcp --dport 993 -j DNAT --to $SERVER
# 外部からの公開サーバーのUDP1194番ポート(OpenVPN)へのアクセスを許可&転送
iptables -A FORWARD -i $PUBLIC_WAN -p udp -d $SERVER --dport 1194 -j ACCEPT
iptables -t nat -A PREROUTING -i $PUBLIC_WAN -p udp --dport 1194 -j DNAT --to $SERVER
iptables -A FORWARD -i $PUBLIC_WAN -p udp -d $SERVER --dport 2304 -j ACCEPT
iptables -t nat -A PREROUTING -i $PUBLIC_WAN -p udp --dport 2304 -j DNAT --to $SERVER
}
#----------------------------------------------------------#
# 他ホストが各種サービスを公開する場合の設定(ここまで) #
#----------------------------------------------------------#
# 公開サーバーが自ホストの場合のルール設定を行う
[ "$SERVER" = "$IPADDR" ] || [ $SERVER = 127.0.0.1 ] && router_eq_server
# 公開サーバーが他ホストの場合のルール設定を行う
[ "$SERVER" != "$IPADDR" ] && [ $SERVER != 127.0.0.1 ] && router_ne_server
# 上記のルールにマッチしなかったアクセスはログを記録して破棄
iptables -A INPUT -j LOG --log-tcp-options --log-ip-options --log-prefix '[IPTABLES INPUT] : '
iptables -A INPUT -j DROP
iptables -A FORWARD -j LOG --log-tcp-options --log-ip-options --log-prefix '[IPTABLES FORWARD] : '
iptables -A FORWARD -j DROP
# 再起動時にも上記設定が有効となるようにルールを保存
/etc/rc.d/init.d/iptables save
# ファイアウォール起動
/etc/rc.d/init.d/iptables start
# パケット転送開始
sysctl -w net.ipv4.ip_forward=1 > /dev/null
sed -i '/net.ipv4.ip_forward/d' /etc/sysctl.conf
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
設定が完了しましたらスクリプトを起動します。
次にクライアントへ自動でIPが割り当てられるようにDHCPサーバーをインストールします。
ddns-update-style interim;
ignore client-updates;
not authoritative; ← 追加
subnet 192.168.1.0 netmask 255.255.255.0 {
# --- default gateway
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
#option nis-domain "domain.org"; ← コメントアウト
option domain-name-servers 192.168.1.1;
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;
range dynamic-bootp 192.168.1.2 192.168.1.254; ← 割当てるIPアドレスを指定(192.168.1.2〜192.168.1.254)
default-lease-time 21600;
max-lease-time 43200;
# we want the nameserver to appear at a fixed address
#host ns {
# next-server marvin.redhat.com;
# hardware ethernet XX:XX:XX:XX:XX:XX;
# fixed-address XXX.XXX.XXX.XXX;
#}
}
あとは下記コマンドでDHCPサーバーを起動すればPCルーターの完成です。
# /etc/rc.d/init.d/dhcpd start
クライアントPCから無事接続できるかご確認ください。
まぁFedora11をルーター化することはあまりないと思いますが、複数PCを固定IPアドレス1つでサーバー運用するときなどにご活用いただければと思います。
2009-10-21
インターネットラジオ放送をはじめました
上記でインターネットラジオ放送サイトを開始しました。
現在、番組を募集しております。
そもそも、なぜインターネットラジオをはじめたかと言うと個人的な趣味の延長が大きいです。
職場ではよくインターネットラジオを流しながら仕事をすることが多いのですが、番組を探すのが下手で結局ポータルに近いラジオばかり聞いているので、もっと他に番組を知りたい、どうせならポータルを作って集めてしまおうという考えではじめることにしました。
今のところ、コンテンツが少ないのでサイトの右側がほとんど広告になっていますが、最終的に広告を減らしてラジオ番組それぞれのアクセスが相対的に上がるように修正していきたいです。
基本的に利益は考えていないので、おそらくずっと赤字状態が続くと思いますが、よほどのことがない限り閉鎖しないよう運営していきたいと思っております。
もし興味を持っていただければ、ぜひ番組をご提供いただけるとありがたいです。



