openbsd を　wifi router かつ監視カメラにする




##1）wifi router
##32ビットCPU かつ　メモリも380 MB ぐらいしかない XP 時代の 古いパソコンの 最後のお勤めです。　この能力だと　X自体は動いたとしても　その上でブラウザまでは重たすぎます。　

||
|---|
|知盛「するべき程の事はしつ、見るべき程の事は見つ」はいいですね。　世界の全種類の魚を食してはいないけど　「喰う価値のある魚は賞味した」　ってことだよね。　鯛はこの中に入るが　メダカは入らないだろう　|

まず　気をつけなければいけないのは
openbsd で　wifi client になるもののうち　一部しかこれができません

![1.jpg](https://qiita-image-store.s3.amazonaws.com/0/211097/64feb349-d8c1-f39d-b2e4-202368817fa5.jpeg)

これは　すごく古い機種ですが　これはOKです。
他の２個の　made in china  は　あかんかった


つかってる機材は
i386　380MB　の　XP地代の　ふるーい　機種です

# uname -ar
OpenBSD i386.my.domain 6.4 GENERIC#926 i386


```
i386# ./comment-out.bat /etc/rc.local                                                              
/root/wifi-router.bat-rum0
/etc/rc.d/dhcpd -f restart 



i386# cat /root/wifi-router.bat-rum0
ifconfig rum0 inet 192.168.17.1 netmask 255.255.255.0 \
media autoselect mediaopt hostap nwid abc \
wpakey 123456789 chan 1 up


i386# ./comment-out.bat /etc/dhcpd.interfaces                                                      
rum0



i386# ./comment-out.bat /etc/dhcpd.conf                                                            
option  domain-name "my.domain";
option  domain-name-servers 8.8.8.8;
subnet 192.168.17.0 netmask 255.255.255.0 {
        option routers 192.168.17.1;
        range 192.168.17.10 192.168.17.19;
}



i386# ./comment-out.bat /etc/hostname.fxp0                                                         
dhcp


 
i386# ./comment-out.bat /etc/sysctl.conf                                                           
machdep.allowaperture=2 # See xf86(4)
net.inet.ip.forwarding=1    # 1=Permit forwarding (routing) of IPv4 packets



i386# ./comment-out.bat /etc/pf.conf                                                               
ext=fxp0
icmp_types = "{echoreq, unreach}"
set block-policy return
set loginterface $ext
set skip on lo0
match in all scrub (no-df max-mss 1440)
match out on $ext inet from !($ext:network) to any nat-to ($ext:0)
block log all
pass out quick
pass in quick inet proto { tcp udp gre } from any to any
pass in quick inet proto icmp all icmp-type $icmp_types keep state


./comment-out.bat /etc/hostname.rum0                                                         
awk: can't open file /etc/hostname.rum0
 source line number 1
と　/etc/hostname.rum0　はありません


i386# ps ax| grep hostap
12839 p0  S+p     0:00.01 grep hostap
でわかるようの　hostapd は走ってません

```

以上にて


![1.png](https://qiita-image-store.s3.amazonaws.com/0/211097/1f92394a-43a8-0c48-cd43-05d8d7658cf0.png)
とabcでスマホがつながってます

![2.png](https://qiita-image-store.s3.amazonaws.com/0/211097/90c9a9bf-bad9-0466-1146-56952bab972f.png)
アドレスも17系ですね



pf.conf　ちょっとだけ変えました。

```
i386# ./comment-out.bat /etc/pf.conf                                                                  
ext=fxp0
table <martians> { 0.0.0.0/8 10.0.0.0/8 127.0.0.0/8 192.168.17.0/24 }
table <spammers> persist file "/etc/spammers"
icmp_types = "{echoreq, unreach}"
set block-policy return
set loginterface $ext
set skip on lo0
match in all scrub (no-df max-mss 1440)
block in quick on $ext from <martians> to any
block return out quick on $ext from any to <martians>
block in quick on $ext from <spammers> to any
block return out quick on $ext from any to <spammers>
match out on $ext inet from !($ext:network) to any nat-to ($ext:0)
block log all
pass out quick
pass in quick inet proto { tcp udp gre } from any to any
pass in quick inet proto icmp all icmp-type $icmp_types keep state

```


```

これにて　i386# pfctl -sr　は                                                                                       
match in all scrub (no-df max-mss 1440)
block return in quick on fxp0 from <martians> to any
block return in quick on fxp0 from <spammers> to any
block return out quick on fxp0 from any to <martians>
block return out quick on fxp0 from any to <spammers>
match out on fxp0 inet from ! (fxp0:network) to any nat-to (fxp0:0)
block return log all
pass in quick inet proto icmp all icmp-type echoreq
pass in quick inet proto icmp all icmp-type unreach
pass in quick inet proto tcp all flags S/SA
pass in quick inet proto udp all
pass in quick inet proto gre all
pass out quick all flags S/SA

となってます。
```

##2) 監視カメラ

mount.nfs 192.168.188.9:/nfs /NFS
にて
openbsd（192.168.188.9）の/nfsを
linuxマシンの/NFSにマウントしてから
linuxの　geeqie で見ます。


```
i386# ./comment-out.bat /etc/exports                                                               
/nfs -maproot=bin: -network=192.168.188 -mask=255.255.255.0
/nfs -maproot=bin: -network=192.168.17  -mask=255.255.255.0


i386# ./comment-out.bat /etc/rc.conf.local                                                         
portmap_flags=""
mountd_flags=""
nfsd_flags="-tun 4"



i386# ./comment-out.bat kansi.bat  

# pfctl -f /etc/pf.conf-original                                                                
while true
do
x=`date +%m%d-%H:%M:%S`
y=`date +%m%d-%H`
fswebcam -r 432x240 -S 2 /nfs/$x.jpg
mkdir -p /nfs/$y
mv /nfs/$x.jpg /nfs/$y
sleep 10 
done

```


なお
fswebcam -S 5 -F 5 -d v4l2:/dev/video -r 1280x1024 -p MJPEG /home/peter/Desktop/philips.jpg
いう意見がhttps://www.lounge.se/wiki2/show/WebcamOpenBSD　にある。