ORCAレセコンを有効活用しよう
BrotherのホームページからTD-4010NのLinux用ドライバーをダウンロードして下さい。
td4100nlpr-1.0.3-0.i386.deb
td4100ncupswrapper-1.0.3-0.i386.deb
32bitライブラリーのインストール
Ubuntu18.04
sudo apt-get install libc6-i386
Ubuntu16.04
sudo apt-get install lib32stdc++6
sudo mkdir /var/spool/lpd
以下フォルダが無い場合は作成してください。
sudo mkdir /usr/lib/cups/filter
sudo mkdir /usr/share/cups/model
sudo dpkg -i –force-all td4100nlpr-1.0.3-0.i386.deb
sudo dpkg -i –force-all td4100ncupswrapper-1.0.3-0.i386.deb
ドライバの修正
sudo vi /usr/lib/cups/filter/brother_lpdwrapper_td4100n
125行目あたりに下記のような行があります。
CUPSOPTION=`echo “$5 Copies=1″ | sed -e ‘s/PageSize/media/’ -e ‘s/BrMarg ・・・・ (長いので省略)
この行を
CUPSOPTION=”
に変更してください。このとき「`」と「’」の違いにご注意ください。
元ファイルにある「`」は使用できませんので「’」を使用してください。
IPアドレス以外はこの通り設定して下さい。
sudo lpadmin -p TD-4100301 -E -v lpd://192.168.1.111/queue301 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100302 -E -v lpd://192.168.1.111/queue302 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100303 -E -v lpd://192.168.1.111/queue303 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100304 -E -v lpd://192.168.1.111/queue304 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100305 -E -v lpd://192.168.1.111/queue305 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100306 -E -v lpd://192.168.1.111/queue306 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100307 -E -v lpd://192.168.1.111/queue307 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100308 -E -v lpd://192.168.1.111/queue308 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100309 -E -v lpd://192.168.1.111/queue309 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100310 -E -v lpd://192.168.1.111/queue310 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100311 -E -v lpd://192.168.1.111/queue311 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100312 -E -v lpd://192.168.1.111/queue312 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo brpapertoollpr_td4100n -P TD-4100301 -n fmt10247 -w 102 -h 47 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100302 -n fmt10267 -w 102 -h 67 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100303 -n fmt10287 -w 102 -h 87 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100304 -n fmt102107 -w 102 -h 107 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100305 -n fmt102127 -w 102 -h 127 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100306 -n fmt102147 -w 102 -h 147 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100307 -n fmt102194 -w 102 -h 194 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100308 -n fmt102214 -w 102 -h 214 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100309 -n fmt102234 -w 102 -h 234 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100310 -n fmt102254 -w 102 -h 254 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100311 -n fmt102274 -w 102 -h 274 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100312 -n fmt102294 -w 102 -h 294 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
以上12種類のプリンタのデフォルトオプションオプションをCUPS画面で設定
Media Sizeをfmt10247~fmt102294に変更
IPアドレス以外はこの通り設定して下さい。
sudo lpadmin -p TD-4100401 -E -v lpd://192.168.1.111/queue301 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100402 -E -v lpd://192.168.1.111/queue302 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100403 -E -v lpd://192.168.1.111/queue303 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100404 -E -v lpd://192.168.1.111/queue304 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100405 -E -v lpd://192.168.1.111/queue305 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100406 -E -v lpd://192.168.1.111/queue306 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100407 -E -v lpd://192.168.1.111/queue307 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100408 -E -v lpd://192.168.1.111/queue308 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100409 -E -v lpd://192.168.1.111/queue309 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100410 -E -v lpd://192.168.1.111/queue310 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100411 -E -v lpd://192.168.1.111/queue311 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo lpadmin -p TD-4100412 -E -v lpd://192.168.1.111/queue312 \
-P /usr/share/cups/model/brother_td4100n_printer_en.ppd
sudo brpapertoollpr_td4100n -P TD-4100401 -n fmt9047 -w 90 -h 47 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100402 -n fmt9067 -w 90 -h 67 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100403 -n fmt9087 -w 90 -h 87 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100404 -n fmt90107 -w 90 -h 107 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100405 -n fmt90127 -w 90 -h 127 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100406 -n fmt90147 -w 90 -h 147 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100407 -n fmt90194 -w 90 -h 194 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100408 -n fmt90214 -w 90 -h 214 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100409 -n fmt90234 -w 90 -h 234 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100410 -n fmt90254 -w 90 -h 254 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100411 -n fmt90274 -w 90 -h 274 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
sudo brpapertoollpr_td4100n -P TD-4100412 -n fmt90294 -w 90 -h 294 -g 3.0 -m 2.0 -y 3 -x 1.5 -S 0
以上12種類のプリンタのデフォルトオプションをCUPS画面で設定
Media Sizeをfmt9047~fmt90294に変更
プリンタ名 標準プログラム名 ユーザプログラム名
お薬手帳 TD-4100 ORCHC04 ○ LA02HC62 ●
プログラム名
LA02HC62
オプション説明
帳票名:お薬手帳
プログラムID:LA02HC62
オプションの説明
シールプリンタのタイプ
PTYPE=0:(デフォルト)
QL-1050
PTYPE=1
TD-4100N
オプション内容
COMMENT2=0
PWIDTH=0
PIRYONAME=1
PTYPE=1
節電とは、こまめにスイッチを切ることと、消費電力の少ない機種を使うことです。
こまめにスイッチを切ることが、面倒な作業になっては意味がありません。
その条件での節電を検討してみました。評価は「Ubuntu 10.04」のみです。
休み時間、夜は電源を切る。(24時間稼働はやめよう。)
・電源を切るとき「/usr/sbin/logrotate /etc/logrotate.conf」を実行
・バックアップ
・バックアップ異常の感知
電源を切るとき以上を実行するスクリプトを紹介します。
このperlスクリプトは、「Ubuntu 10.04」で評価しています。
#!/usr/bin/perl
#sudo -u orca mkdir /home/orca/backups
#visudo
#orca ALL=NOPASSWD: /sbin/shutdown -h now
#orca ALL=NOPASSWD: /usr/sbin/logrotate /etc/logrotate.conf
#バックアップファイルフォルダ
$PATHBAKFILE = “/home/orca/backups”;
#過去何回分のバックアップを残すか
$kai = 10;
print “バックアップして電源を切る Enter\n”;
print “バックアップせずに電源を切る 1 Enter\n”;
print “電源を切らずに元に戻る 2 Enter\n”;
$ans = ;
print “\n”;
chomp($ans);
if ($ans eq “2”){ exit 0; }
unless($ans eq “1”){
#過去のバックアップファイルのロテート、削除
print “過去のバックアップファイルのロテート、削除\n”;
for($i = $kai - 1; $i >= 1; $i--){
if( -f “$PATHBAKFILE/orca.dump.$i.gz”){
$i1=$i+1;
$re = `mv $PATHBAKFILE/orca.dump.$i.gz $PATHBAKFILE/orca.dump.$i1.gz`;
}
}
if( -f “$PATHBAKFILE/orca.dump”){
$re = `mv $PATHBAKFILE/orca.dump $PATHBAKFILE/orca.dump.1`;
$re = `cd $PATHBAKFILE && gzip orca.dump.1`;
}
print “バックアップ開始。\n”;
$re = `/usr/bin/pg_dump -O orca > $PATHBAKFILE/orca.dump 2>$PATHBAKFILE/err.txt`;
$re = `cat $PATHBAKFILE/err.txt`;
if($re ne “”){
print “■■バックアップ異常。■■\n”;
print “$re\n”;
$in = ;
exit(1);
}
}
#ログのロテート
print “ログをロテートしています。\n”;
$re = `sudo /usr/sbin/logrotate /etc/logrotate.conf`;
#電源を切る
print “電源を切ります。\n”;
$re = `sudo /sbin/shutdown -h now`;
操作なし | システム負荷あり (レセプト一括作成) |
|
---|---|---|
最新の小型 ディスクトップ core i5 |
46~48W 平均約47W |
|
5年前のサーバ pentium4 |
120~160W 平均約140W |
操作がしばらく無いときは、画面のスリープ、システムのスリープになるように設定しよう
「メインメニュー」「システム」「設定」「電源管理」
「次の時間アイドル状態が続いたらシステムをスリープする」
「次の時間アイドル状態が続いたら画面をスリープする」
稼働中 | ||
---|---|---|
画面の スリープ中 |
||
システムの スリープ中 |
システムのスリープから復帰(電源ボタンを押す)しても、日レセは正常に動作しています。
システムのスリープ中は、ネットワークカードも止まるので、スタンドアロンに限られます。
当社のORCAレセコンは、「電気を実用的な使用条件において最も節約する」を標準として設定しています。
QL-1050の後継機種TD-4100Nの情報はこちらです。
Ubuntu18.04でも大丈夫です。(2019/1/20) 32bit用ライブラリが必要です。 sudo apt-get install libc6-i386 Ubuntu16.04でも大丈夫です。(2015/1/5) 32bit用ライブラリが必要です。 sudo apt-get install lib32stdc++6
Brother製ラベルプリンタ QL-1050
http://www.brother.co.jp/product/labelprinter/info/ql1050/index.htm
PS-9000 ピータッチ専用 10/100BASE-TX対応USBプリントサーバ
↑製造中止の様です。TD-4100Nを使うもしくはUSB接続で検討ください。(H27.10.5)
http://www.brother.co.jp/product/labelprinter/ps9000/index.htm
テープ型式名
長尺紙テープ(102ミリ幅)(DT-243)
長尺紙テープ(90ミリ幅)(DT-245)
http://www.sky.sh/orca-use/721.php
LA02HC62を使う
※長尺紙テープ(102ミリ幅)(DT-243)を使うには、Windowsから設定が必要
※長尺紙テープ(90ミリ幅)(DT-245)でも102ミリ幅と「この説明書すべて」同じ設定を行う。90ミリ幅のドライバーが、Linuxには用意されていない。
「スタート」-「プリンタ」-「Brother QL-1050」
「ファイル」-「プロパティー」-「デバイスの設定」
「カスタムラベルツール」
「名前 DT102mm x 152mm」-「登録」
「Brother QL-1050」-「OK」
sudo mkdir /var/spool/lpd/ sudo mkdir /usr/share/cups/model sudo dpkg -i --force-all ql1050lpr-1.0.5-0.i386.deb sudo dpkg -i --force-all ql1050cupswrapper-1.0.5-0.i386.deb ドライバの修正 sudo vi /usr/lib/cups/filter/brother_lpdwrapper_ql1050 126行目あたりに下記のような行があります。 CUPSOPTION=`echo "$5 Copies=$4" | sed -e ・・・・ (長いので省略) この行を CUPSOPTION='' に変更してください。このとき「`」と「'」の違いにご注意ください。 元ファイルにある「`」は使用できませんので「'」を使用してください。 sudo lpadmin -p QL-1050201 -E -v lpd://192.168.1.108/queue201 \ -P /usr/share/cups/model/Brother/brother_ql1050_printer_en.ppd sudo lpadmin -p QL-1050202 -E -v lpd://192.168.1.108/queue202 \ -P /usr/share/cups/model/Brother/brother_ql1050_printer_en.ppd sudo lpadmin -p QL-1050203 -E -v lpd://192.168.1.108/queue203 \ -P /usr/share/cups/model/Brother/brother_ql1050_printer_en.ppd sudo lpadmin -p QL-1050204 -E -v lpd://192.168.1.108/queue204 \ -P /usr/share/cups/model/Brother/brother_ql1050_printer_en.ppd sudo lpadmin -p QL-1050205 -E -v lpd://192.168.1.108/queue205 \ -P /usr/share/cups/model/Brother/brother_ql1050_printer_en.ppd sudo lpadmin -p QL-1050206 -E -v lpd://192.168.1.108/queue206 \ -P /usr/share/cups/model/Brother/brother_ql1050_printer_en.ppd sudo lpadmin -p QL-1050207 -E -v lpd://192.168.1.108/queue207 \ -P /usr/share/cups/model/Brother/brother_ql1050_printer_en.ppd sudo lpadmin -p QL-1050208 -E -v lpd://192.168.1.108/queue208 \ -P /usr/share/cups/model/Brother/brother_ql1050_printer_en.ppd sudo lpadmin -p QL-1050209 -E -v lpd://192.168.1.108/queue209 \ -P /usr/share/cups/model/Brother/brother_ql1050_printer_en.ppd sudo lpadmin -p QL-1050210 -E -v lpd://192.168.1.108/queue210 \ -P /usr/share/cups/model/Brother/brother_ql1050_printer_en.ppd sudo lpadmin -p QL-1050211 -E -v lpd://192.168.1.108/queue211 \ -P /usr/share/cups/model/Brother/brother_ql1050_printer_en.ppd sudo lpadmin -p QL-1050212 -E -v lpd://192.168.1.108/queue212 \ -P /usr/share/cups/model/Brother/brother_ql1050_printer_en.ppd sudo brpapertoollpr_ql1050 -P QL-1050201 -n format10247 -w 102 -h 47 sudo brpapertoollpr_ql1050 -P QL-1050202 -n format10267 -w 102 -h 67 sudo brpapertoollpr_ql1050 -P QL-1050203 -n format10287 -w 102 -h 87 sudo brpapertoollpr_ql1050 -P QL-1050204 -n format102107 -w 102 -h 107 sudo brpapertoollpr_ql1050 -P QL-1050205 -n format102127 -w 102 -h 127 sudo brpapertoollpr_ql1050 -P QL-1050206 -n format102147 -w 102 -h 147 sudo brpapertoollpr_ql1050 -P QL-1050207 -n format102194 -w 102 -h 194 sudo brpapertoollpr_ql1050 -P QL-1050208 -n format102214 -w 102 -h 214 sudo brpapertoollpr_ql1050 -P QL-1050209 -n format102234 -w 102 -h 234 sudo brpapertoollpr_ql1050 -P QL-1050210 -n format102254 -w 102 -h 254 sudo brpapertoollpr_ql1050 -P QL-1050211 -n format102274 -w 102 -h 274 sudo brpapertoollpr_ql1050 -P QL-1050212 -n format102294 -w 102 -h 294 プリンタオプションの設定 http://localhost:631/ - プリンタの画面でQL-1050201~QL-1050212のMedia Sizeをformat10247~format102294に変更
プリンタ - 対象プリンタ名 - メンテナンス - テストページの印字が正常に印刷され、カットされれば成功
出力先プリンタ割り当て情報
お薬手帳 プリンタ名 QL-1050、独自開発プログラム名 LA02HC62
プログラムオプション情報
--------------------
帳票名:お薬手帳
プログラムID:LA02HC62
オプションの説明
(1)用量割合コードの編集
COMMENT2=0:(デフォルト)
用量割合コードを印字しない
COMMENT2=1:
用量割合コードを印字する
(2)ロール紙の幅
PWIDTH=0:(デフォルト)
102mm
PWIDTH=1:
90mm
--------------------
COMMENT2=1
PWIDTH=1
--------------------
ここまでくれば多分印刷出来るでしょう。
常時動かしているORCAレセコンなどのパソコンは、雷などの瞬時停電や、ブレーカーが落ちてしまうなどのトラブルがあっても、障害が起こらないようにしたいものです。このため、若干大きなバッテリーを使います。これをUPS(無停電電源装置)と呼びます。
電源障害の長さにより、2つの動作を行います。
APC社の製品には、apcupsdと名付けられたライセンスフリーのソフトがあり、使ってみました。もちろんUbuntuでも使えます。
APC社製 製品名 APC CS 500 BR400G-JP
添付USBケーブル
sudo apt-get install install apcupsd
/etc/apcupsd/apcupsd.confの設定例
電源管理通信ケーブルのタイプを設定します。 UPSCABLE smart
↓
UPSCABLE usb
無停電電源の形式はusbでかまいません UPSTYPE apcsmart
↓
UPSTYPE usb
DEVICE /dev/ttyS0
↓
DEVICE /dev/usb/hiddev0
コンピュータをシャットダウンさせる電池の残量です。デフォルトは5%です。適宜変更して下さい。
BATTERYLEVEL 5
sudo vi /etc/default/apcupsd
ISCONFIGURED=no
↓
ISCONFIGURED=yes
sudo /etc/init.d/apcupsd restart
正常に動作していればapcaccessコマンドにて、UPSの動作状態が見られます。
hasegawa@orca2:~$ sudo apcaccess
APC : 001,040,0973
DATE : Mon Aug 25 08:29:44 JST 2008
HOSTNAME : orca2
RELEASE : 3.12.4
VERSION : 3.12.4 (19 August 2006) debian
UPSNAME : BK500
CABLE : USB Cable
MODEL : APC CS 500
UPSMODE : Stand Alone
STARTTIME: Mon Aug 25 08:24:53 JST 2008
STATUS : ONLINE
LINEV : 100.0 Volts
LOADPCT : 22.0 Percent Load Capacity
BCHARGE : 100.0 Percent
TIMELEFT : 47.9 Minutes
MBATTCHG : 10 Percent
MINTIMEL : 3 Minutes
MAXTIME : 0 Seconds
OUTPUTV : 100.0 Volts
DWAKE : 000 Seconds
DSHUTD : 000 Seconds
LOTRANS : 090.0 Volts
HITRANS : 110.0 Volts
RETPCT : 000.0 Percent
ITEMP : 29.2 C Internal
ALARMDEL : Always
BATTV : 13.4 Volts
LINEFREQ : 59.0 Hz
LASTXFER : No transfers since turnon
NUMXFERS : 0
TONBATT : 0 seconds
CUMONBATT: 0 seconds
XOFFBATT : N/A
SELFTEST : NO
STATFLAG : 0x07000008 Status Flag
SERIALNO : AB0610323360
BATTDATE : 2006-03-05
NOMBATTV : 12.0
FIRMWARE : 8.h10.A USB FW:h10
APCMODEL : APC CS 500
END APC : Mon Aug 25 08:30:33 JST 2008
BIOSの種類によって、電源スイッチの状態を記憶するものがあります。
以下のように設定すると、電源障害→UPSによるバックアップ→shutdown時に電源が回復した時、パソコンは電源スイッチを押さなくとも立ち上がります
Power Management Setup → After AC Power Lost を [Last State]に設定する
UPSの電源コードを抜いてみましょう。
UPSのアラーム音と共に、パソコンのコンソールに以下のようなメッセージが出るはずです。
Broadcast Message from root@orca2
(somewhere) at 9:16 …
Warning power loss detected on UPS BK500
Broadcast Message from root@orca2
(somewhere) at 9:16 …
Power failure on UPS BK500. Running on batteries.
UPSの電源コードを戻すと以下のようなメッセージが出ます。
Broadcast Message from root@orca2
(somewhere) at 9:18 …
Power has returned on UPS BK500…
apcupsd.confで設定したBATTERYLEVELの電池の残量になると、パソコンのshutdownが
はじまります。
ORCAに繋ぐことのできるポート、LAN内のパソコンを最低限にし、大事なデータをしっかり守りましょう。
以下のIPアドレス等をあなたの環境に合わせ、「/etc/network/if-pre-up.d/orcafirewall」に追加します。
「/etc/network/if-pre-up.d/orcafirewall」rootでの実行件を付けます。
#!/bin/sh # このパソコンのIPアドレス ME=192.168.xxx.xx2 # ORCAのマスター、スレーブ、クライアントなどのIPアドレス YOU=192.168.xxx.xx3 # DNSサーバのIPアドレス DNSSV=192.168.xxx.xx1 # NTPサーバのIPアドレス NTPSV=0/0 # LANのネットワーク LAN=192.168.xxx.0/255.255.255.0 # ネットワークプリンタのIPアドレス NETPRI=192.168.xxx.x11 if [ "$IFACE" = "eth0" ]; then iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT #出ていくパケット iptables -N ethout #iptables -A ethout -o eth0 -p tcp -d xxx.xxx.xxx.xxx --dport smtp -j ACCEPT iptables -A ethout -o eth0 -p tcp -d 0/0 --dport smtp -j DROP iptables -A ethout -o eth0 -j ACCEPT iptables -I OUTPUT -j ethout iptables -N ethin iptables -A ethin -i eth0 -d $ME -f -j DROP #ssh iptables -A ethin -i eth0 -p tcp -s $LAN -d $ME --dport ssh -j ACCEPT #ORCAマスター、スレイブ、クライアントの接続ポート iptables -A ethin -i eth0 -p tcp -s $YOU -d $ME --dport 5432 -j ACCEPT iptables -A ethin -i eth0 -p tcp -s $LAN -d $ME --dport 8000 -j ACCEPT #ネットワークプリンタを使う時 iptables -A ethin -i eth0 -p tcp -s $NETPRI --sport 515 -d $ME -j ACCEPT #eDolphin(電子カルテ)を使う場合 #iptables -A ethin -i eth0 -p tcp -s $LAN -d $ME --dport 5001 -j ACCEPT #iptables -A ethin -i eth0 -p tcp -s $LAN -d $ME --dport 389 -j ACCEPT #iptables -A ethin -i eth0 -p tcp -s $LAN -d $ME --dport 5432 -j ACCEPT #iptables -A ethin -i eth0 -p tcp -s $LAN -d $ME --dport 5105 -j ACCEPT #ipmessengerを使う場合 #iptables -A ethin -i eth0 -p udp -s $LAN -d $ME --dport 2425 -j ACCEPT #iptables -A ethin -i eth0 -p udp -s $LAN -d 255.255.255.255 --dport 2425 -j ACCEPT #Sambaを使う場合 #iptables -A ethin -i eth0 -p tcp -s $LAN -d $LAN --dport 137:139 -j ACCEPT #iptables -A ethin -i eth0 -p udp -s $LAN -d $LAN --dport 137:139 -j ACCEPT #afpdでファイル共有する場合 #iptables -A ethin -i eth0 -p tcp -s $LAN -d $ME --dport 548 -j ACCEPT #iptables -A ethin -i eth0 -p udp -s $LAN -d $ME --dport 548 -j ACCEPT #Swatを使う場合 #iptables -A ethin -i eth0 -p tcp -s $LAN -d $ME --dport 901 -j ACCEPT #WebServer #iptables -A ethin -i eth0 -p tcp -s $LAN -d $ME --dport 80 -j ACCEPT #FTP Server #iptables -A ethin -i eth0 -p tcp -s $LAN -d $ME --dport 21 -j ACCEPT # DNS iptables -A ethin -i eth0 -p udp -s $DNSSV --sport 53 -d $ME -j ACCEPT # auth REJECT iptables -A ethin -i eth0 -p tcp -d 0/0 --dport auth -j REJECT # tcp syn DROP iptables -A ethin -i eth0 -d $ME -p tcp --tcp-flags SYN,RST,ACK SYN -j DROP # tcp syn 以外 ACCEPT iptables -A ethin -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT # ntp ACCEPT iptables -A ethin -i eth0 -p udp -s $NTPSV --sport ntp -d $ME -j ACCEPT # LAN内のSNTPとして使う場合は下。 #$LANはLANのネットワークアドレス/ネットマスク #iptables -A ethin -i eth0 -p udp -s $LAN -d $ME --dport ntp -j ACCEPT # 必要な ICMP ACCEPT iptables -A ethin -i eth0 -p icmp --icmp-type echo-reply -d $ME -j ACCEPT iptables -A ethin -i eth0 -p icmp --icmp-type destination-unreachable -d $ME -j ACCEPT iptables -A ethin -i eth0 -p icmp --icmp-type time-exceeded -d $ME -j ACCEPT iptables -A ethin -i eth0 -p icmp --icmp-type echo-request -d $ME -j DROP iptables -A ethin -i eth0 -j DROP iptables -I INPUT -j ethin fi
「/etc/network/if-post-down.d/orcafirewall」に追加します。 「/etc/network/if-post-down.d/orcafirewall」rootでの実行件を付けます。 #!/bin/sh if [ "$IFACE" = "eth0" ]; then iptables -D INPUT -j ethin iptables -F ethin iptables -X ethin iptables -D OUTPUT -j ethout iptables -F ethout iptables -X ethout fi
コンピュータを再起動します。