僕の備忘録(PC、UN*X、ネットワーク関連が中心)なんです。
自分の書いたところは適当(な時とか)に書き換えますので御了承を。
ために、こないだ 時間をかけて4.11を捩じ込んだ98互換機を起動。 /usr/ports をnfsして、security/openvpnに行き、 make install。 では反応がなかったので、make reinstall。
を、同時に複数連結する実験をしてみた。後でまた続けよう。
後だ。3台、すべてFreeBSDでやった。
openvpnの特性かどうかは知らないが、Point to Point な為か、
3台を繋ごうとすると、A-B-C と接続設定してして、A-Cのルーティング
テーブルを追記(Bの彼方に他方がいる)し、Bのnet.inet.ip.forwardingを1に
することになった。linuxなら echo -n 1 > /proc/sys/net/ipv4/ip_forward
というところか
また、Bのアドレス --local $LOCAL は、openvpn を起動する度に
違うアドレスを振る必要があった(これは同一サブネット内で重複しても
(問題なく?)動くようだ)。tunデバイスも共用はできない。tun0,1,2
と別々になる。
あと、何も設定しなければ、--ifconfig $LOCAL のlocal側のアドレスは
ルーティングテーブルに記述されてなかった(ping が飛ばないが、
その必要はないんだろうか?)。
接続はtelnetで確認。デフォルトの23でログインしたり、80を叩いたりした。
30回アクセスして来た香具師がいた。それだけなら特別なこと
はないが、 documentrootを除き、すべて存在しないディレクトリばかり。
それも /portal/ とか /members/とか。新手の悪意あるbotに違いない。
くだんのIPを見たら、やはり毒虫に侵されている模様なので
iptablesで出入り禁止にしておいた。
$ ssh MailServer uptime (ry 23:55:18 up 557 days, 5:31, 1 user, load average: 0.06, 0.03, 0.00
Pentium133MHz+160MHzながら、dhcpdとntpdも兼ねて、一番よく働いている。
あ、それからscreenの下で、Emacs21とmewがずっといる。
6.3からあげたFreeBSD-7.0R続く。make buildworldして一晩放置。
swap_pager: indefinite wait buffer: bufobj: 0, blkno: XXXXX, size YYYY swap_pager: indefinite wait buffer: bufobj: 0, blkno: XXXXX, size YYYY swap_pager: indefinite wait buffer: bufobj: 0, blkno: XXXXX, size YYYY
こんなメッセージがコンソールにぎっしり。XXXXXは毎行違う数字である。
YYYYは4096だったり8192だったり。
おまけに仮想コンソールは開くけど、どこからもログインできない。やれやれ。
まだまだ生モノと見た。
えーと7.0Rの起動メッセージから。
/etc/rc: WARNING: $zfs_enable is not set properly - see rc.conf(5). /etc/rc: WARNING: $idmapd_enable is not set properly - see rc.conf(5). /etc/rc: WARNING: $ftpproxy_enable is not set properly - see rc.conf(5).
Windowsキー押下後にプログラムの名前を入力すると、すぐアプリケーションを起動できるのが
自分の発見した、数少ないVistaの長所といえそうだ。
"word"ではXP上のwinword(Office2003)は起動できなかったが、VistaでOffice2007のwinword
を起動できた。
パスの通ってないプログラムの、あいまい検索はまだまだ。"note"では17個の項目
をリストアップするだけであった("メモ帳"はできたが)。"ウィンドウズメール"も駄目("Windowsメール"はOK)
なら、"インターネット"も×("internet" でIE7)。
サードパーティのアプリケーションも一応効いているようだ。
まあこのあたりを頑張り過ぎても、セキュリティホールが
拡大されるだけ、な気がしなくもなかったり。
使った覚えの無いの全部列挙は無理っぽい。
$ sudo pmap `cat /var/run/sshd.pid ` 2167: /usr/sbin/sshd 08048000 308K r-x-- /usr/sbin/sshd 08095000 8K rwx-- /usr/sbin/sshd 08097000 20K rwx-- [ anon ] 09c7c000 132K rwx-- [ anon ] b7cfb000 32K r-x-- /lib/libnss_files-2.3.6.so b7d03000 8K rwx-- /lib/libnss_files-2.3.6.so b7d05000 8K rwx-- [ anon ] b7d07000 1080K r-x-- /lib/libc-2.3.6.so b7e15000 4K r-x-- /lib/libc-2.3.6.so b7e16000 12K rwx-- /lib/libc-2.3.6.so b7e19000 8K rwx-- [ anon ] b7e1b000 20K r-x-- /lib/libcrypt-2.3.6.so b7e20000 8K rwx-- /lib/libcrypt-2.3.6.so b7e22000 156K rwx-- [ anon ] b7e49000 60K r-x-- /lib/libnsl-2.3.6.so b7e58000 8K rwx-- /lib/libnsl-2.3.6.so b7e5a000 8K rwx-- [ anon ] b7e5c000 72K r-x-- /usr/lib/libz.so.1.2.3 b7e6e000 4K rwx-- /usr/lib/libz.so.1.2.3 b7e6f000 4K rwx-- [ anon ] b7e70000 8K r-x-- /lib/libutil-2.3.6.so b7e72000 8K rwx-- /lib/libutil-2.3.6.so b7e74000 1088K r-x-- /usr/lib/libcrypto.so.0.9.8 b7f84000 88K rwx-- /usr/lib/libcrypto.so.0.9.8 b7f9a000 12K rwx-- [ anon ] b7f9d000 56K r-x-- /lib/libresolv-2.3.6.so b7fab000 8K rwx-- /lib/libresolv-2.3.6.so b7fad000 8K rwx-- [ anon ] b7faf000 8K r-x-- /lib/libdl-2.3.6.so b7fb1000 8K rwx-- /lib/libdl-2.3.6.so b7fb3000 36K r-x-- /lib/libpam.so.0.77 b7fbc000 4K rwx-- /lib/libpam.so.0.77 b7fbd000 24K r-x-- /lib/libwrap.so.0.7.6 b7fc3000 4K rwx-- /lib/libwrap.so.0.7.6 b7fc4000 8K rwx-- [ anon ] b7fd1000 4K r-x-- [ anon ] b7fd2000 88K r-x-- /lib/ld-2.3.6.so b7fe8000 8K rwx-- /lib/ld-2.3.6.so bf8d4000 80K rwx-- [ stack ] bf8e8000 4K rw--- [ anon ] total 3512K
$ pgrep -t tty1 -l 2266 login 2320 bash 2335 startx 2351 xinit 2361 afterstep 2371 scim 2375 scim-launcher 2381 xmascot 2383 Animate 2384 Wharf 2386 asclock 2388 Pager 2389 ascpu 2391 kterm 2424 rxvt 2446 rxvt 2501 firefox 2504 run-mozilla.sh 2510 firefox-bin
x86_64 でやってみた。ホストシステムにはUbuntu-9.10を使ってみた。
まだマニュアルにはx86_64向けの記述はx86と比べて幾分不足気味だけど、
問題なく構築できた。ブートローダはgrub-1.97.2だった。
CONFIG_SMPを"not set"にしたカーネルを作り、有効なカーネルと比較してみる。
make menuconfig で切り替えたのは一箇所だけだったが、.config をdiffすると、他にも
色々違うところが出てきた。
bc-1.06をインストールして、簡単なスクリプトを作った。
$ cat 1.sh echo 2^180+7 | bc | factor > /dev/null $ cat 2.sh echo 2^180-11 | bc | factor > /dev/null
で、これを複数の端末から同時に実行してみる。
端末Aから time { sh 1.sh ; sh 2.sh ; } の順で、端末Bからは逆に。
$ uname -v
#1 SMP Wed Mar 3 05:48:23 JST 2010
$ time { sh 1.sh ; sh 2.sh ; }
real 0m55.752s
user 0m55.723s
sys 0m0.005s
これは端末一つだけで実行している結果と、同じだった。
端末Bは省略する。端末Aと同じだったから。
端末4つで(ほぼ)同時に実行させると、結果は倍近くになった。
で、次に、SMPを無効にしたカーネルに切り替える。
$ uname -v #2 Wed Mar 3 06:24:19 JST 2010 $ time { sh 1.sh ; sh 2.sh ; } real 1m51.862s user 0m55.955s sys 0m0.002s
一つだけならSMPなカーネルとあまり変らないが、
複数走らせると遅くなった。
ちなみにSMPを無効にすると
/proc/cpuinfoでも一つしか表示されなかった。
Debian Lennyで少し追試してみた。
今度の例題は echo 2^62-1 | bc | factor。
uname -aは、どちらも
"Linux Knoppix 2.6.26-2-686 #1 SMP Wed Feb 10 08:59:21 UTC 2010 i686 GNU/Linux"
PentiumM 1.6GHzだと、 計算が一つ、二つ、三つ、四つと増すに従い、 約8.1秒、16.0秒、24.1秒、31.8秒と、計算時間も比例したが、 SMP(Pentium4 3GHz)で7.7秒、10.5秒、15.9秒、19.8秒と変化する。
httpなら -m
SimpleHTTPServer とかになるが、ftpはそこまで
簡単にはいかなかった。
適当に探して、python-pyftpdlib を apt-get。
from pyftpdlib import ftpserver FTP_ROOT = "$DIR/" ADDRESS = ("0.0.0.0", $PORT) authorizer = ftpserver.DummyAuthorizer() authorizer.add_anonymous(FTP_ROOT) ftp_handler = ftpserver.FTPHandler ftp_handler.authorizer = authorizer ftpd = ftpserver.FTPServer(ADDRESS, ftp_handler) ftpd.serve_forever()
$PORTは1024以上
ならユーザ権限で可能。
クライアントはanonymous ユーザでパスワードは適当。ダウンロードのみ。
以下、
参考にしたページ。
クライアント側。
$ ftp $HOST $PORT Connected to $HOST. 220 pyftpdlib 0.7.0 ready. Name ($HOST:root): anonymous 331 Username ok, send password. Password: *********** 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> ls 200 Active data connection established. 125 Data connection already open. Transfer starting. -rw-r--r-- 1 user group 153 Mar 03 01:38 $DATA 226 Transfer complete. ftp> get $DATA 200 Active data connection established. 125 Data connection already open. Transfer starting. 226 Transfer complete. 153 bytes received in 0.000372 seconds (411290 bytes/s) ftp> quit 221 Goodbye.
サーバ側。
$ python python-tempftp.py Starting FTP server []$CLIENT:$SRC_PORT Connected. $CLIENT:$SRC_PORT ==> 220 pyftpdlib 0.7.0 ready. $CLIENT:$SRC_PORT <== USER anonymous $CLIENT:$SRC_PORT ==> 331 Username ok, send password. $CLIENT:$SRC_PORT <== PASS ****** $CLIENT:$SRC_PORT ==> 230 Login successful. $CLIENT:$SRC_PORT <== SYST $CLIENT:$SRC_PORT ==> 215 UNIX Type: L8 $CLIENT:$SRC_PORT <== PORT $CLIENT,222,0 $CLIENT:$SRC_PORT ==> 200 Active data connection established. $CLIENT:$SRC_PORT <== LIST $CLIENT:$SRC_PORT ==> 125 Data connection already open. \ Transfer starting. $CLIENT:$SRC_PORT ==> 226 Transfer complete. $CLIENT:$SRC_PORT <== TYPE I $CLIENT:$SRC_PORT ==> 200 Type set to: Binary. $CLIENT:$SRC_PORT <== PORT $CLIENT,159,21 $CLIENT:$SRC_PORT ==> 200 Active data connection established. $CLIENT:$SRC_PORT <== RETR $DATA $CLIENT:$SRC_PORT ==> 125 Data connection already open. \ Transfer starting. $CLIENT:$SRC_PORT ==> 226 Transfer complete. [anonymous]@$CLIENT:$SRC_PORT "RETR $DIR/$DATA" completed=1 \ bytes=153 seconds=0.002 $CLIENT:$SRC_PORT <== QUIT $CLIENT:$SRC_PORT ==> 221 Goodbye. [anonymous]@$CLIENT:$SRC_PORT Disconnected.
いつ買ったか既に思い出せない。2018年か、2019年か。
ずっと放置して、電源さえ入れたことなかったはず。
$ dmesg --ctime 922a923,934 [火 3月 3 15:49:50 2020] usb 1-1: new full-speed USB device number 10 using xhci_hcd [火 3月 3 15:49:51 2020] usb 1-1: New USB device found, idVendor=10c4, idProduct=ea60, bcdDevice= 1.00 [火 3月 3 15:49:51 2020] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [火 3月 3 15:49:51 2020] usb 1-1: Product: CP2104 USB to UART Bridge Controller [火 3月 3 15:49:51 2020] usb 1-1: Manufacturer: Silicon Labs [火 3月 3 15:49:51 2020] usb 1-1: SerialNumber: XXXXXXXX [火 3月 3 15:49:51 2020] usbcore: registered new interface driver usbserial_generic [火 3月 3 15:49:51 2020] usbserial: USB Serial support registered for generic [火 3月 3 15:49:51 2020] usbcore: registered new interface driver cp210x [火 3月 3 15:49:51 2020] usbserial: USB Serial support registered for cp210x [火 3月 3 15:49:51 2020] cp210x 1-1:1.0: cp210x converter detected [火 3月 3 15:49:51 2020] usb 1-1: cp210x converter now attached to ttyUSB0
Bus 001 Device 010: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP2102/CP2109 UART Bridge Controller [CP210x family]
初期設定で起動音と、様々な液晶表示、そしてボタンのテストプロンプト。
5-600mAくらい食うようだった。
リンクはご自由にどうぞ。でもURLや内容が変った場合はあしからず。