東京電力(12時25分) 3232万kW / 4150万kW (77.9%) 東北電力(12時30分) 888万kW / 1126万kW (78.9%)
関西電力(12時15分) 1737万kW / 2326万kW (74.7%) 九州電力(12時30分) 970万kW / 1280万kW (75.8%)

FreeBSDメモ daemontools+tcpserverでLAN内だけにポートを開く

[FreeBSDメモに戻る]

事前に、外向けのインターフェイスのIPアドレスと同じLANカードで LAN内のIPアドレスが設定されていることを前提とします。

以下のものを準備します。

/usr/ports/sysutils/daemontools
/usr/ports/sysutils/ucspi-tcp

daemontoolsは普通にmake、ucspi-tcp は IPV6パッチを当てて make します。

そして、

ln /var/service /service

をして、適当に

mkdir /service/.env
mkdir /servvice/.tmp

をします。 (双方とも、dot があることに注意)

以下は、telnetポートの例です。

その後、

chdir /service/.tmp
をして
mkdir outtelnet
chmod +s outtelnet
mkdir telnet
chmod +s telnet
をして、

cd /service/.env
とします。

そして、

echo あなたに与えられた固定IPV4アドレス > GROBALIP
echo LAN内の自ホストのローカルIPV4アドレス > LOCALIP

とします。

そして、outtelnet 及び、telnet のディレクトリの双方に、以下のものを記述します。

  • Makefile
SHELL=/bin/sh
tcp.cdb: tcp
      /usr/local/bin/tcprules tcp.cdb tcp.tmp < tcp

  • tcp
:allow

その後、双方のディレクトリに

ln -s /service/env .env
mkdir log
chmod +s log
とします。

そして、outtelnet 側には以下のファイルを記述します。

  • run
exec 2>&1
exec envdir ./env sh -c '
exec /usr/local/bin/tcpserver -rhv -c 2 -x tcp.cdb $GROBALIP telnet /service/outtelnet/root/run

そして、mkdir root として、root/run に以下のように記述してみましょう。

  • run
#!/usr/local/bin/bash
TERM=vt100 /usr/local/bin/sl -F

但し、/usr/ports/games/sl のインストールが必要です。

telnet側には、以下のファイルを記述します。

  • run
#!/bin/sh
exec 2>&1
exec envdir ./env sh -c '
exec /usr/local/bin/tcpserver -l0 -R -h -v -c 5 -x tcp.cdb $LOCALIP telnet /usr/libexec/telnetd

そして、/usr/local/etc/rc.d/svscan start をしてから、
mv /service/.tmp/* /service

をすれば、外側からtelnetをするとSLが走る画面が、内側からはちゃんとtelnetにアクセスできます。

アンケート

選択枝 得票数 得票数 投票
役に立った 0 -
得票総数 0    

このことに関する話題

お名前:
題名:


上の画像で表示されている文字を入力して下さい。 [ 文字を変更する。]

1


このページのトラックバックURL
http://www.daiba.cx/?cmd=tb&tb_id=65e506c14f01cb4554de619c45a46e7b
リンク元

FreeBSDメモ/daemontools+tcpserverでLAN内だけにポートを開くのトラックバックはありません。

このホームページは、[お名前.comVPS ]と[さくらのVPS ]で動いています。[Sディレクトリ ]
www.daiba.cx
yahoo 出会い