-
iptableで外部からのsshを防ぐ
-
sshを使っているとは言えど、パスワードログインでは攻撃の対象となるようだ。なので、公開暗号鍵方式での認証に変えた方がより安全。参考:「OpenWRT での dropbear に関するページ」
1234root@OpenWrt:/etc/config# cat dropbearconfig dropbearoption PasswordAuth 'on' < --- ここをoffにすれば良い。もちろん鍵作ってからね。option Port '22'しかしながら、パスワードログインを完全にやめちゃうとメンテナンス時にログインできなくて困っちゃうかもしれない。シリアルケーブルは持ち歩かない(La Foneraは実家だ:-))し、いつもと違うPCでログインしたい場合もあるかも。
だから、wan側のポートをiptablesで閉じておくことで対処。
123root@OpenWrt:/etc# cat firewall.useriptables -I INPUT 1 -p tcp -i [インターフェース ex)eth0] --dport 22 -j DROProot@OpenWrt:/etc# /etc/init.d/firewall restart123456root@OpenWrt:/etc# iptables -L -v -t filterChain INPUT (policy ACCEPT 0 packets, 0 bytes)pkts bytes target prot opt in out source destination0 0 DROP tcp -- eth0 any anywhere anywhere tcp dpt:220 0 DROP all -- any any anywhere anywhere state INVALID:外からsshでアクセス(eth0=192.168.100.2)すると、応答無し状態からタイムアウトになる。
12root@OpenWrt:/etc# ssh root@192.168.100.2ssh: exited: Error connecting: Connection timed out -
IPの初期設定を変更
-
12345root@OpenWrt:~# cd /etc/config/root@OpenWrt:/etc/config# lsdhcp firewall httpd luci_ethers network ucitrackdropbear fstab luci luci_hosts system wirelessroot@OpenWrt:/etc/config# vi network1234567891011121314# Copyright (C) 2006 OpenWrt.orgconfig interface loopbackoption ifname looption proto staticoption ipaddr 127.0.0.1option netmask 255.0.0.0config interface lanoption ifname eth0option type bridgeoption proto staticoption ipaddr 192.168.10.1 < ----ここを編集するoption netmask 255.255.255.0
-
sshでログインできるようにする
-
まず、rootのパスワードを設定する。doropbearを有効する。
1root@OpenWrt:~# /etc/init.d/dropbear enable再起動後、リモートからsshログインしてみる。
123456789101112131415161718~$ ssh root@192.168.10.1root@192.168.10.1's password:BusyBox v1.11.2 (2009-01-05 06:34:55 CET) built-in shell (ash)Enter 'help' for a list of built-in commands._______ ________ __| |.-----.-----.-----.| | | |.----.| |_| - || _ | -__| || | | || _|| _||_______|| __|_____|__|__||________||__| |____||__| W I R E L E S S F R E E D O MKAMIKAZE (8.09, r14511) ----------------------------* 10 oz Vodka Shake well with ice and strain* 10 oz Triple sec mixture into 10 shot glasses.* 10 oz lime juice Salute!---------------------------------------------------root@OpenWrt:~# -
無線IFを有効にする
-
まずは有効にしてみる
123456789root@OpenWrt:~# iwconfiglo no wireless extensions.eth0 no wireless extensions.wifi0 no wireless extensions.br-lan no wireless extensions.root@OpenWrt:~# vi /etc/config/wireless12345678910111213config wifi-device wifi0option type atherosoption channel auto# REMOVE THIS LINE TO ENABLE WIFI:option disabled 0 < --- 1を0に変更するconfig wifi-ifaceoption device wifi0option network lanoption mode apoption ssid OpenWrtoption encryption none使える様になった~(^^/
12345678910111213141516171819root@OpenWrt:~# /etc/init.d/network restartroot@OpenWrt:~# iwconfiglo no wireless extensions.eth0 no wireless extensions.wifi0 no wireless extensions.br-lan no wireless extensions.ath0 IEEE 802.11g ESSID:"OpenWrt" Nickname:""Mode:Master Frequency:2.417 GHz Access Point: 00:18:84:24:03:A1Bit Rate:0 kb/s Tx-Power:18 dBm Sensitivity=1/1Retry:off RTS thr:off Fragment thr:offEncryption key:offPower Management:offLink Quality=0/70 Signal level=-96 dBm Noise level=-96 dBmRx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0Tx excessive retries:0 Invalid misc:0 Missed beacon:0 -
無線WIFI端末にしてみる
-
暗号化などは置いといて、とりあえず繋ぐだけの設定。dhcp
1root@OpenWrt:/# vi /etc/config/wireless123456789101112131415config wifi-device wifi0option type atherosoption channel auto# REMOVE THIS LINE TO ENABLE WIFI:option disabled 0config wifi-ifaceoption device wifi0# option network lan < ----この行はコメントアウトするoption mode sta <---- apをstaに変更するoption ssid ********option encryption noneoption nosbeacon 1 <---- この行を追加するoption network wan <---- この行を追加する(/etc/confic/networkに書くinterface名1root@OpenWrt:~# vi /etc/config/network12345678910111213141516171819# Copyright (C) 2006 OpenWrt.orgconfig interface loopbackoption ifname looption proto staticoption ipaddr 127.0.0.1option netmask 255.0.0.0config interface lanoption ifname eth0option type bridgeoption proto staticoption ipaddr 192.168.10.1option netmask 255.255.255.0#ここから下を追加するconfig interface wanoption ifname "ath0"option proto dhcp1root@OpenWrt:~# vi /etc/config/dhcp1234567891011121314151617181920212223config dnsmasqoption domainneeded 1option boguspriv 1option filterwin2k '0' #enable for dial on demandoption localise_queries 1option local '/lan/'option domain 'lan'option expandhosts 1option nonegcache 0option authoritative 1option readethers 1option leasefile '/tmp/dhcp.leases'option resolvfile '/tmp/resolv.conf.auto'config dhcp lanoption interface lanoption start 100option limit 150option leasetime 12h#ここから下が参照される模様config dhcp wanoption interface wanoption ignore 1 -
eth0をWAN側に接続する、かつ、メンテナンス用としても使えるようする-失敗
-
La foneraはethernetポートを一つしか持っていない。アクセスポイントとして使うときはethernetをWAN側(dhcp)にするのだけれど、なにかあったときにethernetで接続してメンテできると便利だ。そこで、仮想IFを設定する。
WAN用をeth0:1(dhcp)、メンテ用をeth0(static)とする。
1root@OpenWrt:~# vi /etc/config/network1234567891011121314151617181920# Copyright (C) 2006 OpenWrt.orgconfig interface loopbackoption ifname looption proto staticoption ipaddr 127.0.0.1option netmask 255.0.0.0# WAN側の設定config interface ethwanoption ifname eth0:1option proto dhcp# メンテ用の設定config interface menteoption ifname eth0option proto staticoption ipaddr 192.168.10.1option netmask 255.255.255.0:1root@OpenWrt:~# vi /etc/config/dhcp12345:#WAN側のDHCP設定config dhcp ethwanoption interface ethwanoption ignore 1 -
ntpで時刻合わせ
-
インストール
123456root@OpenWrt:/etc# opkg install ntpclientInstalling ntpclient (2007_365-1) to root...Downloading http://downloads.openwrt.org/kamikaze/8.09/atheros/packages/./ntpclient_2007_365-1_mips.ipkConnecting to downloads.openwrt.org (195.56.146.238:80)ntpclient_2007_365-1 100% |**********************************************| 11583 00:00:00 ETAConfiguring ntpclient時刻サーバは日本標準時プロジェクトの公開NTPサーバを利用する。
1root@OpenWrt:~# vi /etc/config/ntpclient1234567891011config ntpserveroption hostname 'ntp.nict.jp'option port '123'option count 1config ntpdriftoption freq '0'config ntpclientoption interval 60#option count 10タイムゾーンも設定しておく
123456789101112root@OpenWrt:/etc/config# uci show | grep timezoneuci: Entry not foundsystem.@system[0].timezone=UTCroot@OpenWrt:/etc/config# uci set system.@system[0].timezone="JST-9"root@OpenWrt:/etc/config# uci set system.@system[0].zonename="Asis/Tokyo"root@OpenWrt:/etc/config# uci commitroot@OpenWrt:/etc/config# uci show system.@system[0]system.cfg0243cc=systemsystem.cfg0243cc.hostname=OpenWrtsystem.cfg0243cc.timezone=JST-9system.cfg0243cc.zonename=Asis/Tokyoroot@OpenWrt:/etc/config#再起動して確認
123456789root@OpenWrt:/etc/config# cat /var/TZJST-9root@OpenWrt:/etc/config# cat /etc/TZJST-9root@OpenWrt:/etc/config# ps ax | egrep ntp868 root 1388 S /usr/sbin/ntpclient -i 60 -s -l -D -p 123 -h ntp.nictroot@OpenWrt:/etc/config# dateSun May 3 01:18:41 JST 2009root@OpenWrt:/etc/config#