2014年11月25日火曜日

Mint nat ;isc-dhcp-server pure-ftpd plugin Windows8

ノートでwiindows8とdualboot
1)USBの準備をします。
mintのイメージをUSBに焼くのですが、
 http://smartgoods.me/2014/07/windows8_ubuntu_dualboot/
あたりにかかれてます。
unetbootin か ddかを使ったと思います。


2)win8での準備です。
a)高速スタートアップはwin8をスリープさせてます。
 windowsで「コントロールパネル」→「ハードウェアとサウンド」→「電源オプション」→「システム設定」の順でPC設定を進み「高速スタートアップを有効にする(推奨)」のチェックを外す。

b)HDDをパーティションで区切り、mint用の領域を作る



3)http://www.atmarkit.co.jp/ait/articles/1304/05/news045.html
より
コントロールパネル ー>
ファイル履歴でファイルのバックアップコピーを保存」ー> 
 画面左下にある「システムイメージバックアップ
バックアップ先をWIREDのLANでつながってるXPとした。
しかし、wifiをきらないと接続できなかった。
そして この量が40GBを超えていた。


4)win8ブート用のUSBメモリをつくる。
 コントロールパネル
ー>システムとセキュリティ
ー>アクションセンター
ー>回復
ー>回復ドライブの作成
普通では8GB超いりますが、最小なら1GBでもいけます。


5)今はしませんが
 http://121ware.com/qasearch/1007/app/servlet/relatedqa?QID=015957
がわかりやすい。
  コンピューターを修復する
ー>オプション
ー>トラブルシューティング
ー>詳細オプション
ー>イメージシステムを回復

6)BIOSでsecure bootを切って
USBで起動。

sda6 にswap
sda7 に/
をつくりました。
なお、sda2には EFIが鎮座していました。
で、ブートローダーをsda2にいれました。
その後 grub-install /dev/sda2
      とupgrade-grubが実行されてるのを観察しました。

7)結果 
secure bootをENABLEにしても mintを起動できます。
ただし、escキーをたたき F9を押し、ubuntuを選択してからやっと grubがたちあがりmintが起動できます。
しかし、例の boot-repair を使ってもこの状況を脱せません。
grub-install /dev/sdaしてもダメです。
あまりにも マニアックな起動法


mint  # fdisk -l /dev/sda すると

警告: GPT (GUID パーティションテーブル) が '/dev/sda' に検出されました! この fdisk ユーティリティは GPT をサポートしません。GNU Parted を使ってください。

Disk /dev/sda: 500.1 GB, 500107862016 bytes
ヘッド 255, セクタ 63, シリンダ 60801, 合計 976773168 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 4096 バイト
I/O サイズ (最小 / 推奨): 4096 バイト / 4096 バイト
ディスク識別子: 0xd369809d

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sda1               1   976773167   488386583+  ee  GPT
パーティション 1 は物理セクタ境界で始まっていません:

あとは http://www7b.biglobe.ne.jp/~shinou/ubuntu/ubuntu001.html
で Windows8のブートローダーの編集には、『EasyBCD』を使用するか !



isc-dhcp-server



cat nat.bat
# /etc/default/isc-dhcp-server
# /etc/dhcp/dhcpd.conf


/etc/init.d/isc-dhcp-server start


#!/bin/sh

# IP フォワーディングを有効にする
echo 1 > /proc/sys/net/ipv4/ip_forward

# テーブルの初期化
iptables -t filter -F FORWARD
iptables -t nat -F POSTROUTING
iptables -t nat -F PREROUTING

# POSTROUTING, PREROUTING ともにアドレス変換を許可
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT

# フィルタの設定: 通過許可
iptables -t filter -P FORWARD ACCEPT

# 内部から外部への IP マスカレードを許可
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

# ftp 通信用のモジュールのロード
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp


echo
echo
echo
echo "iptables-save---------------------------------"
iptables-save
echo
echo
echo
echo "iptables -L----------------------------------"
iptables -L




 ./awk-Cout.bat /etc/default/isc-dhcp-server

INTERFACES="eth0"




  ./awk-Cout.bat /etc/dhcp/dhcpd.conf
option domain-name-servers 192.168.100.254;

default-lease-time 600;
max-lease-time 7200;

subnet 192.168.11.0 netmask 255.255.255.0 {
 range 192.168.11.10 192.168.11.20;
 option routers 192.168.11.1;
 option subnet-mask 255.255.255.0;
 option broadcast-address 192.168.11.255;
 default-lease-time 600;
 max-lease-time 7200;
}




btdownloadcurses   tettnang-i386-DVD.torrent



pure−ftpd
http://www.server-world.info/query?os=Ubuntu_12.04&p=ftp&f=3

あるユーザーだけが ftpできないときは vi  /etc/passwd を確認。

debian 'nat box';morizot twoftpd-run scp

全体は

internet
|
|
|
router
192.168.1.1
|
|
|
192.168.1.x
debian nat box run dhcpd & iptables
192.168.11.1
|
|
|
192.168.11.x
puppy





debian では
cat /etc/network/interfaces 
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

allow-hotplug eth1
iface eth1 inet static
 address 192.168.11.1
 netmask 255.255.255.0
 dns-nameservers 192.168.11.1

udhcpdをインストールして

cat /etc/udhcpd.conf
start 192.168.11.20 #default: 192.168.0.20
end 192.168.11.25 #default: 192.168.0.254

interface eth1 #default: eth0

opt dns 192.168.1.1
option subnet 255.255.255.0
opt router 192.168.11.1
#opt wins 192.168.10.10
#option dns 129.219.13.81 # appened to above DNS servers for a total of 3
#option domain local

option lease 864000 # 10 days of seconds



http://easyfwgen.morizot.net/gen/で firewallのルールを発生させます。

すると

cat fire-mori.bat  というルールができます。
以下です。

SYSCTL="/sbin/sysctl -w" 

IPT="/sbin/iptables"

IPTS="/sbin/iptables-save"
IPTR="/sbin/iptables-restore"

INET_IFACE="eth0"

LOCAL_IFACE="eth1"

LOCAL_IP="192.168.11.1"
LOCAL_NET="192.168.11.0/24"
LOCAL_BCAST="192.168.11.255"

LO_IFACE="lo"
LO_IP="127.0.0.1"

if [ "$1" = "save" ]

then
echo -n "Saving firewall to /etc/sysconfig/iptables ... "
$IPTS > /etc/sysconfig/iptables
echo "done"
exit 0
elif [ "$1" = "restore" ]
then
echo -n "Restoring firewall from /etc/sysconfig/iptables ... "
$IPTR < /etc/sysconfig/iptables
echo "done"
exit 0
fi

echo "Loading kernel modules ..."


/sbin/modprobe ip_tables


/sbin/modprobe ip_conntrack


/sbin/modprobe ip_nat_ftp


/sbin/modprobe ip_conntrack_ftp


/sbin/modprobe ip_conntrack_irc


if [ "$SYSCTL" = "" ]

then
    echo "1" > /proc/sys/net/ipv4/ip_forward
else
    $SYSCTL net.ipv4.ip_forward="1"
fi

if [ "$SYSCTL" = "" ]

then
    echo "1" > /proc/sys/net/ipv4/tcp_syncookies
else
    $SYSCTL net.ipv4.tcp_syncookies="1"
fi

if [ "$SYSCTL" = "" ]

then
    echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
else
    $SYSCTL net.ipv4.conf.all.rp_filter="1"
fi

if [ "$SYSCTL" = "" ]

then
    echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
else
    $SYSCTL net.ipv4.icmp_echo_ignore_broadcasts="1"
fi

if [ "$SYSCTL" = "" ]

then
    echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route
else
    $SYSCTL net.ipv4.conf.all.accept_source_route="0"
fi


if [ "$SYSCTL" = "" ]

then
    echo "1" > /proc/sys/net/ipv4/conf/all/secure_redirects
else
    $SYSCTL net.ipv4.conf.all.secure_redirects="1"
fi

if [ "$SYSCTL" = "" ]

then
    echo "1" > /proc/sys/net/ipv4/conf/all/log_martians
else
    $SYSCTL net.ipv4.conf.all.log_martians="1"
fi

echo "Flushing Tables ..."


$IPT -P INPUT ACCEPT

$IPT -P FORWARD ACCEPT
$IPT -P OUTPUT ACCEPT
$IPT -t nat -P PREROUTING ACCEPT
$IPT -t nat -P POSTROUTING ACCEPT
$IPT -t nat -P OUTPUT ACCEPT
$IPT -t mangle -P PREROUTING ACCEPT
$IPT -t mangle -P OUTPUT ACCEPT

$IPT -F

$IPT -t nat -F
$IPT -t mangle -F

$IPT -X

$IPT -t nat -X
$IPT -t mangle -X

if [ "$1" = "stop" ]

then
echo "Firewall completely flushed!  Now running with no firewall."
exit 0
fi

$IPT -P INPUT DROP

$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP

echo "Create and populate custom rule chains ..."


$IPT -N bad_packets


$IPT -N bad_tcp_packets


$IPT -N icmp_packets


$IPT -N udp_inbound


$IPT -N udp_outbound


$IPT -N tcp_inbound


$IPT -N tcp_outbound


$IPT -A bad_packets -p ALL -i $INET_IFACE -s $LOCAL_NET -j LOG \

    --log-prefix "Illegal source: "

$IPT -A bad_packets -p ALL -i $INET_IFACE -s $LOCAL_NET -j DROP


$IPT -A bad_packets -p ALL -m state --state INVALID -j LOG \

    --log-prefix "Invalid packet: "

$IPT -A bad_packets -p ALL -m state --state INVALID -j DROP


$IPT -A bad_packets -p tcp -j bad_tcp_packets


$IPT -A bad_packets -p ALL -j RETURN


$IPT -A bad_tcp_packets -p tcp -i $LOCAL_IFACE -j RETURN


$IPT -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG \

    --log-prefix "New not syn: "
$IPT -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP

$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL NONE -j LOG \

    --log-prefix "Stealth scan: "
$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL NONE -j DROP

$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL ALL -j LOG \

    --log-prefix "Stealth scan: "
$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL ALL -j DROP

$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL FIN,URG,PSH -j LOG \

    --log-prefix "Stealth scan: "
$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP

$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j LOG \

    --log-prefix "Stealth scan: "
$IPT -A bad_tcp_packets -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP

$IPT -A bad_tcp_packets -p tcp --tcp-flags SYN,RST SYN,RST -j LOG \

    --log-prefix "Stealth scan: "
$IPT -A bad_tcp_packets -p tcp --tcp-flags SYN,RST SYN,RST -j DROP

$IPT -A bad_tcp_packets -p tcp --tcp-flags SYN,FIN SYN,FIN -j LOG \

    --log-prefix "Stealth scan: "
$IPT -A bad_tcp_packets -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP

$IPT -A bad_tcp_packets -p tcp -j RETURN


$IPT -A icmp_packets --fragment -p ICMP -j LOG \

    --log-prefix "ICMP Fragment: "
$IPT -A icmp_packets --fragment -p ICMP -j DROP


$IPT -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j DROP


$IPT -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT


$IPT -A icmp_packets -p ICMP -j RETURN


$IPT -A udp_inbound -p UDP -s 0/0 --destination-port 137 -j DROP

$IPT -A udp_inbound -p UDP -s 0/0 --destination-port 138 -j DROP

$IPT -A udp_inbound -p UDP -s 0/0 --source-port 67 --destination-port 68 \

     -j ACCEPT

$IPT -A udp_inbound -p UDP -j RETURN


$IPT -A udp_outbound -p UDP -s 0/0 -j ACCEPT


$IPT -A tcp_inbound -p TCP -s 0/0 --destination-port 22 -j ACCEPT


$IPT -A tcp_inbound -p TCP -j RETURN


$IPT -A tcp_outbound -p TCP -s 0/0 -j ACCEPT


echo "Process INPUT chain ..."


$IPT -A INPUT -p ALL -i $LO_IFACE -j ACCEPT


$IPT -A INPUT -p ALL -j bad_packets


$IPT -A INPUT -p ALL -d 224.0.0.1 -j DROP


$IPT -A INPUT -p ALL -i $LOCAL_IFACE -s $LOCAL_NET -j ACCEPT

$IPT -A INPUT -p ALL -i $LOCAL_IFACE -d $LOCAL_BCAST -j ACCEPT

$IPT -A INPUT -p ALL -i $INET_IFACE -m state --state ESTABLISHED,RELATED \

     -j ACCEPT

$IPT -A INPUT -p TCP -i $INET_IFACE -j tcp_inbound

$IPT -A INPUT -p UDP -i $INET_IFACE -j udp_inbound
$IPT -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets

$IPT -A INPUT -m pkttype --pkt-type broadcast -j DROP


$IPT -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG \

    --log-prefix "INPUT packet died: "

echo "Process FORWARD chain ..."


$IPT -A FORWARD -p ALL -j bad_packets


$IPT -A FORWARD -p tcp -i $LOCAL_IFACE -j tcp_outbound


$IPT -A FORWARD -p udp -i $LOCAL_IFACE -j udp_outbound


$IPT -A FORWARD -p ALL -i $LOCAL_IFACE -j ACCEPT


$IPT -A FORWARD -i $INET_IFACE -m state --state ESTABLISHED,RELATED \

     -j ACCEPT

$IPT -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG \

    --log-prefix "FORWARD packet died: "

echo "Process OUTPUT chain ..."


$IPT -A OUTPUT -m state -p icmp --state INVALID -j DROP


$IPT -A OUTPUT -p ALL -s $LO_IP -j ACCEPT

$IPT -A OUTPUT -p ALL -o $LO_IFACE -j ACCEPT

$IPT -A OUTPUT -p ALL -s $LOCAL_IP -j ACCEPT

$IPT -A OUTPUT -p ALL -o $LOCAL_IFACE -j ACCEPT

$IPT -A OUTPUT -p ALL -o $INET_IFACE -j ACCEPT


$IPT -A OUTPUT -m limit --limit 3/minute --limit-burst 3 -j LOG \

    --log-prefix "OUTPUT packet died: "

echo "Load rules for nat table ..."


$IPT -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE

echo "Load rules for mangle table ..."

#  以下は自分のつけたし
echo '------------------------------------'
iptables-save
echo '$$$$$$$$$$$$$$$$$$$$$$$$$$$$'

iptables -L

上で書いたルールはとても人間業とはおもえないです。
複雑すぎます。
これで 以下がでてきます。
Loading kernel modules ...
net.ipv4.ip_forward = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.all.secure_redirects = 1
net.ipv4.conf.all.log_martians = 1
Flushing Tables ...
Create and populate custom rule chains ...
Process INPUT chain ...
Process FORWARD chain ...
Process OUTPUT chain ...
Load rules for nat table ...
Load rules for mangle table ...


-----------------------------
# Generated by iptables-save v1.4.14 on Mon Jun 30 10:19:10 2014
*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT
# Completed on Mon Jun 30 10:19:10 2014
# Generated by iptables-save v1.4.14 on Mon Jun 30 10:19:10 2014
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
:bad_packets - [0:0]
:bad_tcp_packets - [0:0]
:icmp_packets - [0:0]
:tcp_inbound - [0:0]
:tcp_outbound - [0:0]
:udp_inbound - [0:0]
:udp_outbound - [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -j bad_packets
-A INPUT -d 224.0.0.1/32 -j DROP
-A INPUT -s 192.168.11.0/24 -i eth1 -j ACCEPT
-A INPUT -d 192.168.11.255/32 -i eth1 -j ACCEPT
-A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -p tcp -j tcp_inbound
-A INPUT -i eth0 -p udp -j udp_inbound
-A INPUT -i eth0 -p icmp -j icmp_packets
-A INPUT -m pkttype --pkt-type broadcast -j DROP
-A INPUT -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix "INPUT packet died: "
-A FORWARD -j bad_packets
-A FORWARD -i eth1 -p tcp -j tcp_outbound
-A FORWARD -i eth1 -p udp -j udp_outbound
-A FORWARD -i eth1 -j ACCEPT
-A FORWARD -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix "FORWARD packet died: "
-A OUTPUT -p icmp -m state --state INVALID -j DROP
-A OUTPUT -s 127.0.0.1/32 -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -s 192.168.11.1/32 -j ACCEPT
-A OUTPUT -o eth1 -j ACCEPT
-A OUTPUT -o eth0 -j ACCEPT
-A OUTPUT -m limit --limit 3/min --limit-burst 3 -j LOG --log-prefix "OUTPUT packet died: "
-A bad_packets -s 192.168.11.0/24 -i eth0 -j LOG --log-prefix "Illegal source: "
-A bad_packets -s 192.168.11.0/24 -i eth0 -j DROP
-A bad_packets -m state --state INVALID -j LOG --log-prefix "Invalid packet: "
-A bad_packets -m state --state INVALID -j DROP
-A bad_packets -p tcp -j bad_tcp_packets
-A bad_packets -j RETURN
-A bad_tcp_packets -i eth1 -p tcp -j RETURN
-A bad_tcp_packets -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j LOG --log-prefix "New not syn: "
-A bad_tcp_packets -p tcp -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -m state --state NEW -j DROP
-A bad_tcp_packets -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j LOG --log-prefix "Stealth scan: "
-A bad_tcp_packets -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
-A bad_tcp_packets -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j LOG --log-prefix "Stealth scan: "
-A bad_tcp_packets -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j DROP
-A bad_tcp_packets -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j LOG --log-prefix "Stealth scan: "
-A bad_tcp_packets -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j DROP
-A bad_tcp_packets -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,ACK,URG -j LOG --log-prefix "Stealth scan: "
-A bad_tcp_packets -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,ACK,URG -j DROP
-A bad_tcp_packets -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j LOG --log-prefix "Stealth scan: "
-A bad_tcp_packets -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP
-A bad_tcp_packets -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j LOG --log-prefix "Stealth scan: "
-A bad_tcp_packets -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP
-A bad_tcp_packets -p tcp -j RETURN
-A icmp_packets -p icmp -f -j LOG --log-prefix "ICMP Fragment: "
-A icmp_packets -p icmp -f -j DROP
-A icmp_packets -p icmp -m icmp --icmp-type 8 -j DROP
-A icmp_packets -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A icmp_packets -p icmp -j RETURN
-A tcp_inbound -p tcp -m tcp --dport 22 -j ACCEPT
-A tcp_inbound -p tcp -j RETURN
-A tcp_outbound -p tcp -j ACCEPT
-A udp_inbound -p udp -m udp --dport 137 -j DROP
-A udp_inbound -p udp -m udp --dport 138 -j DROP
-A udp_inbound -p udp -m udp --sport 67 --dport 68 -j ACCEPT
-A udp_inbound -p udp -j RETURN
-A udp_outbound -p udp -j ACCEPT
COMMIT
# Completed on Mon Jun 30 10:19:10 2014
# Generated by iptables-save v1.4.14 on Mon Jun 30 10:19:10 2014
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Mon Jun 30 10:19:10 2014


$$$$$$$$$$$$$$$$$$$$$$$$$$$$
Chain INPUT (policy DROP)
target     prot opt source               destination      
ACCEPT     all  --  anywhere             anywhere          
bad_packets  all  --  anywhere             anywhere          
DROP       all  --  anywhere             all-systems.mcast.net
ACCEPT     all  --  192.168.11.0/24      anywhere          
ACCEPT     all  --  anywhere             192.168.11.255    
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
tcp_inbound  tcp  --  anywhere             anywhere          
udp_inbound  udp  --  anywhere             anywhere          
icmp_packets  icmp --  anywhere             anywhere          
DROP       all  --  anywhere             anywhere             PKTTYPE = broadcast
LOG        all  --  anywhere             anywhere             limit: avg 3/min burst 3 LOG level warning prefix "INPUT packet died: "

Chain FORWARD (policy DROP)
target     prot opt source               destination      
bad_packets  all  --  anywhere             anywhere          
tcp_outbound  tcp  --  anywhere             anywhere          
udp_outbound  udp  --  anywhere             anywhere          
ACCEPT     all  --  anywhere             anywhere          
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
LOG        all  --  anywhere             anywhere             limit: avg 3/min burst 3 LOG level warning prefix "FORWARD packet died: "

Chain OUTPUT (policy DROP)
target     prot opt source               destination      
DROP       icmp --  anywhere             anywhere             state INVALID
ACCEPT     all  --  localhost            anywhere          
ACCEPT     all  --  anywhere             anywhere          
ACCEPT     all  --  debian7.local        anywhere          
ACCEPT     all  --  anywhere             anywhere          
ACCEPT     all  --  anywhere             anywhere          
LOG        all  --  anywhere             anywhere             limit: avg 3/min burst 3 LOG level warning prefix "OUTPUT packet died: "

Chain bad_packets (2 references)
target     prot opt source               destination      
LOG        all  --  192.168.11.0/24      anywhere             LOG level warning prefix "Illegal source: "
DROP       all  --  192.168.11.0/24      anywhere          
LOG        all  --  anywhere             anywhere             state INVALID LOG level warning prefix "Invalid packet: "
DROP       all  --  anywhere             anywhere             state INVALID
bad_tcp_packets  tcp  --  anywhere             anywhere          
RETURN     all  --  anywhere             anywhere          

Chain bad_tcp_packets (1 references)
target     prot opt source               destination      
RETURN     tcp  --  anywhere             anywhere          
LOG        tcp  --  anywhere             anywhere             tcpflags:! FIN,SYN,RST,ACK/SYN state NEW LOG level warning prefix "New not syn: "
DROP       tcp  --  anywhere             anywhere             tcpflags:! FIN,SYN,RST,ACK/SYN state NEW
LOG        tcp  --  anywhere             anywhere             tcpflags: FIN,SYN,RST,PSH,ACK,URG/NONE LOG level warning prefix "Stealth scan: "
DROP       tcp  --  anywhere             anywhere             tcpflags: FIN,SYN,RST,PSH,ACK,URG/NONE
LOG        tcp  --  anywhere             anywhere             tcpflags: FIN,SYN,RST,PSH,ACK,URG/FIN,SYN,RST,PSH,ACK,URG LOG level warning prefix "Stealth scan: "
DROP       tcp  --  anywhere             anywhere             tcpflags: FIN,SYN,RST,PSH,ACK,URG/FIN,SYN,RST,PSH,ACK,URG
LOG        tcp  --  anywhere             anywhere             tcpflags: FIN,SYN,RST,PSH,ACK,URG/FIN,PSH,URG LOG level warning prefix "Stealth scan: "
DROP       tcp  --  anywhere             anywhere             tcpflags: FIN,SYN,RST,PSH,ACK,URG/FIN,PSH,URG
LOG        tcp  --  anywhere             anywhere             tcpflags: FIN,SYN,RST,PSH,ACK,URG/FIN,SYN,RST,ACK,URG LOG level warning prefix "Stealth scan: "
DROP       tcp  --  anywhere             anywhere             tcpflags: FIN,SYN,RST,PSH,ACK,URG/FIN,SYN,RST,ACK,URG
LOG        tcp  --  anywhere             anywhere             tcpflags: SYN,RST/SYN,RST LOG level warning prefix "Stealth scan: "
DROP       tcp  --  anywhere             anywhere             tcpflags: SYN,RST/SYN,RST
LOG        tcp  --  anywhere             anywhere             tcpflags: FIN,SYN/FIN,SYN LOG level warning prefix "Stealth scan: "
DROP       tcp  --  anywhere             anywhere             tcpflags: FIN,SYN/FIN,SYN
RETURN     tcp  --  anywhere             anywhere          

Chain icmp_packets (1 references)
target     prot opt source               destination      
LOG        icmp -f  anywhere             anywhere             LOG level warning prefix "ICMP Fragment: "
DROP       icmp -f  anywhere             anywhere          
DROP       icmp --  anywhere             anywhere             icmp echo-request
ACCEPT     icmp --  anywhere             anywhere             icmp time-exceeded
RETURN     icmp --  anywhere             anywhere          

Chain tcp_inbound (1 references)
target     prot opt source               destination      
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssh
RETURN     tcp  --  anywhere             anywhere          

Chain tcp_outbound (1 references)
target     prot opt source               destination      
ACCEPT     tcp  --  anywhere             anywhere          

Chain udp_inbound (1 references)
target     prot opt source               destination      
DROP       udp  --  anywhere             anywhere             udp dpt:netbios-ns
DROP       udp  --  anywhere             anywhere             udp dpt:netbios-dgm
ACCEPT     udp  --  anywhere             anywhere             udp spt:bootps dpt:bootpc
RETURN     udp  --  anywhere             anywhere          

Chain udp_outbound (1 references)
target     prot opt source               destination      
ACCEPT     udp  --  anywhere             anywhere          





Puppy では
ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:00:39:E3:38:99  
          inet addr:192.168.11.25  Bcast:192.168.11.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:61 errors:0 dropped:0 overruns:0 frame:0
          TX packets:215 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:9759 (9.5 KiB)  TX bytes:24275 (23.7 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)


/etc/resolv.conf
# Generated by dhcpcd for interface eth0
nameserver 192.168.1.1


route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.11.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth0
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         192.168.11.1    0.0.0.0         UG    0      0        0 eth0

本来は puppyから
cat scp.bat 
scp -r $1  tusi@192.168.11.1:/home/tusi
をつかいたいのですが、 deianではsshdが動いないので puppyのpure-ftpd
でファイルのやりとりをしました。


そのため twoftpd-run をdebianにどうにゅうしました。
最初にインストールするとき
/var/ftp/

/nonexistent/
のフォルダがないと言われたので それをつくてから
インストールしたらいいです。
なお 再起動すると
dhcpdと twoftpd-runははじめから動いてます。
だからfire-mori.bat だからだけをうごかしたらいいです。


iptables-persistent を使うのも手なんですけど。
http://d.hatena.ne.jp/mercysluck/20120211/p1 より
iptables-save > /etc/iptables/rules
service iptables-persistent start         <--- iptables-restore </etc/iptables/rules

debian jigdo

たとえば

http://cdimage.debian.org/cdimage/weekly-builds/amd64/jigdo-dvd/



debian-testing-amd64-DVD-1.jigdo     2014-06-30 08:52  125K
debian-testing-amd64-DVD-1.template  2014-06-30 08:52   57M

をダウロードし

この2つのある場所で
jigdo-lite し、
あとは リターンリターンでやっていくと


--2014-07-06 14:19:33--  http://snapshot.debian.org/archive/debian/20140630T063336Z/pool/main/m/mysql-5.5/libmysqlclient18_5.5.37-1_amd64.deb
Reusing existing connection to snapshot.debian.org:80.
HTTP request sent, awaiting response... 200 OK
Length: 664450 (649K) [application/x-debian-package]
Saving to: ‘debian-testing-amd64-DVD-1.iso.tmpdir/snapshot.debian.org/archive/debian/20140630T063336Z/pool/main/m/mysql-5.5/libmysqlclient18_5.5.37-1_amd64.deb’

100%[======================================>] 664,450      156KB/s   in 4.2s

2014-07-06 14:19:37 (156 KB/s) - ‘debian-testing-amd64-DVD-1.iso.tmpdir/snapshot.debian.org/archive/debian/20140630T063336Z/pool/main/m/mysql-5.5/libmysqlclient18_5.5.37-1_amd64.deb’ saved [664450/664450]

FINISHED --2014-07-06 14:19:37--
Total wall clock time: 35s
Downloaded: 7 files, 2.9M in 28s (106 KB/s)
Found 7 of the 7 files required by the template                              
Successfully created `debian-testing-amd64-DVD-1.iso'

-----------------------------------------------------------------
Finished!
The fact that you got this far is a strong indication that `debian-testing-amd64-DVD-1.iso'
was generated correctly. I will perform an additional, final check,
which you can interrupt safely with Ctrl-C if you do not want to wait.

OK: Checksums match, image is good!

な感じで終わります。

でもね、 数時間かかりました。
だから stableは torrentで落とすべきでしょう。
変わり続けるtesitngはこっちがいいと思います。

-rw-r--r-- 1 tuyosi tuyosi 3942645760  7月  6 14:19 debian-testing-amd64-DVD-1.iso
ができあがります。


引用(https://www.debian.org/CD/jigdo-cd/index.ja.html)
jigdo は DVD 中の全部のファイルを個別にダウンロードするのです。
次にダウンロードしたファイルを一つのファイルに集めて、DVDイメージと全く同じものを作成します。
ただし、これらは裏で自動的に行われるので、


あなたの「Debian mirror」と尋ねられたら、 「http://ftp.XY.debian.org/debian/」 と入力してください。ここで「XY」は、 2 文字の国コードです (たとえば、us、de、uk などです。日本は jp です。 利用可能な ftp.XY.debian.org の一覧を参照してください)。すべきことは、 ダウンロードツールに処理する ".jigdo" ファイルの場所を教えることだけです。

sysytemrescue で grub 復活 ; debian で thin client そして ubuntu でも




GRUBが壊れたときは systemrescue CD で  
       chroot してなおします
私は swap と  / だけなので (つまり bootのためにパーティションをとってない )
http://www.sysresccd.org/Sysresccd-Partitioning-EN-Repairing-a-damaged-Grub



root@sysresccd /root % mkdir /mnt/linux
root@sysresccd /root % mount /dev/sda2 /mnt/linux
root@sysresccd /root % mount -o bind /proc /mnt/linux/proc
root@sysresccd /root % mount -o bind /dev /mnt/linux/dev
root@sysresccd /root % mount -o bind /sys /mnt/linux/sys




chroot /mnt/linux /bin/bash




 grub-install /dev/sda


で復活できます。




thin client は 
thin server さえあれば、 HDD、 CDドライブ、 USB がなくとも 
ネットから立ち上がっていきます。


以下によくまとめられてまして、 これに一部改良を加えたものを出発点として このページの後ろの方に
edubuntu  そして ubuntu における ltsp  を書きました。 でも以下のがすごくよくまとまってますので一読されてはどうでしょうか。
http://chschneider.eu/linux/server/ltsp-server.shtml

まず 上をほぼ丸写しで sqeezeでやりました。
これを 現在風にアレンジしました。
たとえば   くるのは dhcp3-server ではなく isc-dhcp-serverなのですから。


自分が理解したのを 解説すると


internet router DHCPD
192.168.1.1
|
|
|
HUB---------------------dhcp(by thin server) debian thin client
|
|
|
eth0 192.168.1.201 DHCPD
debian thin server

です。




apt-get update
apt-get install nfs-kernel-server
apt-get install ltsp-server
apt-get install isc-dhcp-server


debian thin serverでは、完成するまでは    DHCPD
を動かないようにしておきます。
 つまり/etc/init.d/isc-dhcp-server stop 
ですね。


cat /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
        address 192.168.1.201
        netmask 255.255.255.0
        network 192.168.1.0
        broadcast 192.168.1.255
        gateway 192.168.1.1
        dns-nameservers 192.168.1.1
        #dns-search home


 cat /etc/dhcp/dhcpd.conf
authoritative;
subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.202 192.168.1.203;
    option domain-name "lan";
    option domain-name-servers 192.168.1.201;
    option broadcast-address 192.168.1.255;
    option routers 192.168.1.201;
    next-server 192.168.1.201;
#    get-lease-hostnames true;
    option subnet-mask 255.255.255.0;
    option root-path "/opt/ltsp/i386";
    if substring( option vendor-class-identifier, 0, 9 ) = "PXEClient" {
        filename "/ltsp/i386/pxelinux.0";
    } else {
        filename "/ltsp/i386/nbi.img";
    }
}


cat /etc/exports
/opt/ltsp *(ro,no_root_squash,async,no_subtree_check)


そして


# ltsp-build-client --arch i386 \
  --mirror http://ftp.de.debian.org/debian/ \
  --security-mirror http://ftp.de.debian.org/debian-security/
は、
# ltsp-build-client --arch i386 \
  --mirror http://ftp.jp.debian.org/debian/ \
  --security-mirror http://ftp.jp.debian.org/debian-security/
でいいはずですが、 jp は 2014・9・4時点ではだめでした、
なぜなんでしょう。
      




chroot /opt/ltsp/i386/
apt-get update && apt-get upgrade
exit 
 
After kernel updates in the client system, the versions delivered by the TFTP server must also be replaced. Just run:
ltsp-update-kernels

 
 
これでできあがってます。

あとは  
debian thin server
を再起動cat thin.bat  
/etc/init.d/isc-dhcp-server restart
/etc/init.d/tftpd-hpa restart

echo
echo
echo
ps ax| grep dhcp

echo
echo
echo
ps ax| grep tftp

echo
echo
echo
ps ax| grep nf


するだけです。

 
ところで debian thin client を ネットワーク boot  すると
おもいきり文字化けした画面がでてきます(10行後にこの対策を書いてます)。
ここで 最初の空欄に thin server でのID 
次の空欄に そのpasswd
それから 左の 文字化けをクリックすると みなれたdebianの画面がきます。
 
 文字化けは 次の方法で解決します。 
 cat /opt/ltsp/i386/etc/lts.conf

[default] 
    LTSP_CONFIG=True
    #SOUND=False
    #LOCALDEV=False
    #CONFIGURE_X=False

LANG=en_US.UTF-8
# LANGUAGE=ja_JP.UTF-8
# LDM_LANGUAGE=ja_JP.UTF-8赤字の1行を加えると login画面のみが英語となってわかりやすくなります。
 おかしいことは 
debian thin client  で rootでhalt すると、 client の画面を残したままserver がshutdown します。もっともこれは rootのpasswd知らないとできないことです。それから
debian thin serverをgnomeから lxdeにすると debian thin client  でも 
同じlxdeになります.
( fluxbox は相性が悪い )。

またもちろん clientの HDDを退けても 立ち上がってきます。
ということは CDがなくとも USB、HDDがいかれても NICとMEMORYさえあれば 動きます。
 
 
 




でも thin client  導入は
 edbuntu を使う方がもっと簡単でも 重い。

ここでは
cat /etc/exports
cat: /etc/exports: そのようなファイルやディレクトリはありません


root@eTHIN:/home/tuyosi# dpkg -l | grep nf
はいってないのです。
どうなってるんでしょう。

それは
The NBD protocol allows a block device (or an image of a block device) 
to be exported from one machine to another.
Typically the it would then be mounted as a filesystem or used as a swap area. 
Exported devices are 
identified by the IP address and TCP port number from which they are hosted.
らしい。


さて 最後が ubuntuで thin-client です。

Ubuntu 14.04 i386 です。


wifi router DHCPD
192.168.100.254
|
wireless
|
wifi dhcp
ubuntu  thin server
192.168.1.201
|
HUB
|
 thin client



まず  あとで 述べる ltsp-build-client をやりなおさないために
aptitude update
をしておいてください



 cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto eth2
iface eth2 inet static
        address 192.168.1.201
        netmask 255.255.255.0
        network 192.168.1.0
        broadcast 192.168.1.255
        #    gateway 192.168.1.1
        dns-nameservers 192.168.100.254

cat /etc/exports
/opt/ltsp *(ro,no_root_squash,async,no_subtree_check)


 cat /etc/dhcp/dhcpd.conf

 authoritative;
subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.202 192.168.1.203;
    option domain-name "ubuntu-thin";

    #    option domain-name-servers 192.168.1.201;
    option domain-name-servers 192.168.100.254;


    option broadcast-address 192.168.1.255;
    option routers 192.168.1.201;
    next-server 192.168.1.201;
    option subnet-mask 255.255.255.0;
    option root-path "/opt/ltsp/i386";
    if substring( option vendor-class-identifier, 0, 9 ) = "PXEClient" {
        filename "/ltsp/i386/pxelinux.0";
    } else {
        filename "/ltsp/i386/nbi.img";
    }
}


cat /etc/default/isc-dhcp-server
INTERFACES="eth2"




apt-get install nfs-kernel-server

apt-get install ltsp-server


apt-get install isc-dhcp-server


ltsp-build-client   --arch i386





chroot /opt/ltsp/i386/
apt-get update && apt-get upgrade
exit 
 
After kernel updates in the client system, the versions delivered by the TFTP server must also be replaced. Just run:
ltsp-update-kernels


関係ないですが
ltsp-update-image    ltsp-update-kernels  ltsp-update-sshkeys
などもあります。
 
 
 
 
 
あとは
cat thin.bat 
/etc/init.d/nfs-kernel-server restart
/etc/init.d/isc-dhcp-server restart
/etc/init.d/tftpd-hpa restart

echo
echo
echo
ps ax| grep dhcp

echo
echo
echo
ps ax| grep tftp

echo
echo
echo
ps ax| grep nf
 
これで再起動しなくても動いてます。
 
 
このあとubuntを軽くするために
 
aptitude install gnome  (保険)
aptitude install lxde   (主に使う)
aptitude remove  unity compiz 
をしておきます。
 
  
 
thin client を ネットワーク boot  すると ubntuでは
文字化けしない画面がでてきます。
 



 そして 最終的には持ち運びがいいように 
HDDのubuntuを USBメモリに
 (cd /mnt0; tar cvpf - .)|(cd /mnt1 ; tar xpf -)
なんかして写します。
 
USBで/etc/fstab の手直しも必要です。
blkid /dev/sdb1 なんかして
cat /etc/fstab
UUID=4db436dd-626b-4a85-aa86-aa115ada9ac7  / ext4 errors=remount-ro 0  1
UUID=06b169e7-9004-4569-9a4b-5f5145025bb7 none  swap    sw     0       0


それから ネットワーク関係にHDDのが残ってるので これをUSB用に修正します。
cat /etc/udev/rules.d/70-persistent-net.rules <ー元

# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.

# PCI device 0x8086:0x1229 (e100)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:a0:c9:27:dc:91", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

# PCI device 0x8086:0x1013 (e1000)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:e0:81:2a:bd:0f", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth2"

# PCI device 0x8086:0x1229 (e100)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:a0:c9:6d:3f:83", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

# USB device 0x:0x (rt2800usb)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="dc:fb:02:58:a7:cd", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"

# USB device 0x:0x (rtl8192cu)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:22:cf:ec:c8:05", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan1"

# USB device 0x:0x (rt73usb)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:22:cf:01:22:6f", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan2"

# PCI device 0x14e4:0x1713 (tg3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1e:c9:05:78:fc", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth3"

# USB device 0x:0x (asix)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0d:0b:6a:34:16", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth4"



cat /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program, run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single
# line, and change only the value of the NAME= key.
# USB device 0x:0x (rt2800usb)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="dc:fb:02:58:a7:cd", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"
# PCI device 0x14e4:0x1713 (tg3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1e:c9:05:78:fc", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

にし


 /etc/network/interfaces
 /etc/default/isc-dhcp-server
のeth3  を eth0 にします。
これで HDDからUSDへの移行は終わりです。
このブログもこのUSBから起動したubuntuで書いてます。

なお USBの grub.cfg は以下です。


.........

menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-4db436dd-626b-4a85-aa86-aa115ada9ac7' {
    recordfail
    load_video
    gfxmode $linux_gfx_mode
    insmod gzio
    insmod part_msdos
    insmod ext2
    set root='hd1,msdos1'
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  4db436dd-626b-4a85-aa86-aa115ada9ac7
    else
      search --no-floppy --fs-uuid --set=root 4db436dd-626b-4a85-aa86-aa115ada9ac7
    fi
    linux    /boot/vmlinuz-3.13.0-35-generic root=UUID=4db436dd-626b-4a85-aa86-aa115ada9ac7 ro  quiet splash $vt_handoff
    initrd    /boot/initrd.img-3.13.0-35-generic
}
submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-4db436dd-626b-4a85-aa86-aa115ada9ac7' {
    menuentry 'Ubuntu, with Linux 3.13.0-35-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.13.0-35-generic-advanced-4db436dd-626b-4a85-aa86-aa115ada9ac7' {
        recordfail
        load_video
        gfxmode $linux_gfx_mode
        insmod gzio
        insmod part_msdos
        insmod ext2
        set root='hd1,msdos1'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  4db436dd-626b-4a85-aa86-aa115ada9ac7
        else
          search --no-floppy --fs-uuid --set=root 4db436dd-626b-4a85-aa86-aa115ada9ac7
        fi
        echo    'Linux 3.13.0-35-generic をロード中...'
        linux    /boot/vmlinuz-3.13.0-35-generic root=UUID=4db436dd-626b-4a85-aa86-aa115ada9ac7 ro  quiet splash $vt_handoff
        echo    '初期 RAM ディスクをロード中...'
        initrd    /boot/initrd.img-3.13.0-35-generic
    }
    menuentry 'Ubuntu, with Linux 3.13.0-35-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.13.0-35-generic-recovery-4db436dd-626b-4a85-aa86-aa115ada9ac7' {
        recordfail
        load_video
        insmod gzio
        insmod part_msdos
        insmod ext2
        set root='hd1,msdos1'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  4db436dd-626b-4a85-aa86-aa115ada9ac7
        else
          search --no-floppy --fs-uuid --set=root 4db436dd-626b-4a85-aa86-aa115ada9ac7
        fi
        echo    'Linux 3.13.0-35-generic をロード中...'
        linux    /boot/vmlinuz-3.13.0-35-generic root=UUID=4db436dd-626b-4a85-aa86-aa115ada9ac7 ro recovery nomodeset
        echo    '初期 RAM ディスクをロード中...'
        initrd    /boot/initrd.img-3.13.0-35-generic
    }
    menuentry 'Ubuntu, with Linux 3.13.0-24-generic' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.13.0-24-generic-advanced-4db436dd-626b-4a85-aa86-aa115ada9ac7' {
        recordfail
        load_video
        gfxmode $linux_gfx_mode
        insmod gzio
        insmod part_msdos
        insmod ext2
        set root='hd1,msdos1'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  4db436dd-626b-4a85-aa86-aa115ada9ac7
        else
          search --no-floppy --fs-uuid --set=root 4db436dd-626b-4a85-aa86-aa115ada9ac7
        fi
        echo    'Linux 3.13.0-24-generic をロード中...'
        linux    /boot/vmlinuz-3.13.0-24-generic root=UUID=4db436dd-626b-4a85-aa86-aa115ada9ac7 ro  quiet splash $vt_handoff
        echo    '初期 RAM ディスクをロード中...'
        initrd    /boot/initrd.img-3.13.0-24-generic
    }
    menuentry 'Ubuntu, with Linux 3.13.0-24-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.13.0-24-generic-recovery-4db436dd-626b-4a85-aa86-aa115ada9ac7' {
        recordfail
        load_video
        insmod gzio
        insmod part_msdos
        insmod ext2
        set root='hd1,msdos1'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos1 --hint-efi=hd1,msdos1 --hint-baremetal=ahci1,msdos1  4db436dd-626b-4a85-aa86-aa115ada9ac7
        else
          search --no-floppy --fs-uuid --set=root 4db436dd-626b-4a85-aa86-aa115ada9ac7
        fi
        echo    'Linux 3.13.0-24-generic をロード中...'
        linux    /boot/vmlinuz-3.13.0-24-generic root=UUID=4db436dd-626b-4a85-aa86-aa115ada9ac7 ro recovery nomodeset
        echo    '初期 RAM ディスクをロード中...'
        initrd    /boot/initrd.img-3.13.0-24-generic
    }
}



mintは ltsp うまくいかない。

やってみると lxdeにした ubuntuを使うのがお手軽かと思う。
apt-get install libdvdread4

/usr/share/doc/libdvdread4/install-css.sh
で libdvdcss も入る。
root (hd0,4) kernel /vmlinuz root=/dev/sda5 ro initrd /initrd.img



話がかわります。 
ltsp サーバーの使い回しです


ubuntuをUSBメモリにいれて ltsp サーバーをたちあげてます。
ところが ubuntuは デフォルトのカーネルはpentium以上です。
これではとても 古いCPUのPCでは thin clientが立ち上がりません。
かといって 容量の小さいUSBの上でkernel を作りなおすことはちょっと無理です。
で ltsp サーバーを他所から借りてきます。

つまり HDDにあるdebian の [/opt] と [/srv/tftp/ltsp]とを
ubuntuのにコーピーします。
(元のはそれぞれ名前を変えておく)
@uTHIIN:~$ ls /opt*
/opt:
ltsp
/opt-ubuntu:
ltsp

@uTHIIN:~$ ls /var/lib/tftpboot/
ltsp ltsp-ubuntu


すると 古いPCで thin clientが立ち上がります。
ただし 借り物のltsp サーバーですので lisp-update-imageなんかすると
古いCPUを受け付けなくなりますので注意。

おそらく何か 例えば lisp-update-image したかったらもとのdebian でやるべきと思います

lxdeの導入は ubuntuでやっても大丈夫でした。
gnomeも 元のdebianのではなく ubuntuのそれでした。
何か 分業をしてる雰囲気。
不思議なことは たちあがったあと uname -ar すると ubuntuのになってます。
つまり たちがる前は 母国語での準備がいるけど 立ち上がったらltspサーバー のつまり外国語で話せるっていうことかな?
さらに 同じ debian の [/opt] と [/srv/tftp/ltsp] (前項でこれ既にUSBに写してました)とを
uefi + secure boot PCで立ち上がってくる LINUX MINTに USBを利用してコピーしました。
すると oldノートPCで thin client がたちあがってきます。
しかし MINTのユーザーでしかログインできません。
この ノートPCと ltsp の相性がいいのか youtubeで音が thin clientで聞こえます。
しかし 別のold oldノートでは音がでません。