http://hatahata50.blogspot.jp/2015/12/arch-bang.html に書いてます。
これは アインシュタイン方程式だ。
アインシュタインはこの方程式をひらめいた。
数学者はこの式をとくが 数学者には この式そのものは降臨しない。
UEFI + btrfs は以下に書きました。
http://hatahata50.blogspot.jp/2016/12/uefi-btrfs-usb.html
この心は
http://qiita.com/sion_cojp/items/c8e015db39ddbf43012eによると
最大ファイルサイズ 最大ボリュームサイズ
ext4 16TiB 1EiB
btrfs 16EiB 16EiB
なので これから超巨大データベース(例えば映像)をつくるには
btrfs でしょう 1 EiB = 2の60乗B = 1,152,921,504,606,846,976 B。
また uefiでないと 2.2TB以上のバーティションから 起動できないですしね。
インストール pacman -Sy ◯◯
探す pacman -Ss ◯◯
除ける pacman -Rsc ◯◯
全アップグレード pacman -Syu <------ 自分は 週一回してます
で 簡単です
以下は 非UEFIの場合です。
CDに焼いてブートです。
黄色の背景の大文字のところだけで インストールできます。 (小文字は解説にすぎません)
ここで
systemctl start sshd
passwd
ifconfig でアドレス確認
します。
そして 192.168.100.102なら
で入ってインストールします。
つまりこのページの コピー&ペーストだから楽です。
でなかったら結構しんどい。
まず インストールするところを求めます。
root@archiso ~ # fdisk /dev/sda
にてDevice Boot Start End Sectors Size Id Type
/dev/sda1 * 4196352 41943039 37746688 18G 83 Linux
/dev/sda2 2048 4196351 4194304 2G 82 Linux swap / Solaris
なふうにしました。
mkfs.ext4 /dev/sda1
mkswap /dev/sda2
swapon /dev/sda2
mount /dev/sda1 /mnt/
<---btrfsでしたい方は以下ですが
初学者は混乱するので この薄桃色背景は見ないで下さい
http://www.kossboss.com/linux---arch-installation-with-btrfs-root-and-efi-grub-bootより
# fdisk /dev/sda
/dev/sda1 83 Linux
/dev/sda2 82 Linux swap / Solaris
# mkfs.btrfs -f -L arch /dev/sda1
# fdisk /dev/sda
/dev/sda1 83 Linux
/dev/sda2 82 Linux swap / Solaris
# mkfs.btrfs -f -L arch /dev/sda1
# mkswap /dev/sda2
# swapon /dev/sda2
# mount /dev/sda1 /mnt
# cd /mnt
# btrfs subvolume create /mnt/ROOT
# cd /
# umount /mnt
# mount -o defaults,compress=lzo,subvol=ROOT /dev/sda1 /mnt
ここまでが btfs でしたーーー>
# swapon /dev/sda2
# mount /dev/sda1 /mnt
# cd /mnt
# btrfs subvolume create /mnt/ROOT
# cd /
# umount /mnt
# mount -o defaults,compress=lzo,subvol=ROOT /dev/sda1 /mnt
ここまでが btfs でしたーーー>
本題へ戻ります。
とにかく背景黄色です・
# nano /etc/pacman.d/mirrorlist
とにかく背景黄色です・
# nano /etc/pacman.d/mirrorlist
Server = http://ftp.jaist.ac.jp/pub/Linux/ArchLinux/$repo/os/$arch
をミラーリストの一番上に書き加えます・
# pacstrap /mnt base base-devel btrfs-progs
これが終わってから
- 以下のコマンドを実行して fstab を生成してください
(UUID やラベルを使いたい場合、-U
オプションを加えます):
- # genfstab -p /mnt >> /mnt/etc/fstab
自分の場合 nano /mnt/etc/fstabは
/dev/sda1 / ext4 rw,relatime,data=ordered 0 1
/dev/sda2 none swap sw 0 0
- 新しくインストールしたシステムに chroot:
# arch-chroot /mnt
- あなたのホストネームを
nano /etc/hostname
に書き込んでください。
echo 'archPC' >> /etc/hostname
rm /etc/localtime
# ln -s /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
-
/etc/locale.gen
内の使用するロケールをアンコメントし、 - LANG="ja_JP.UTF-8"
- # デフォルトのソート順を保つ (例えば '.' で始まるファイルは # ディレクトリのリストで最初に並ぶ)
- LC_COLLATE="C"
- # 短い月日表示を YYYY-MM-DD に設定 ("date +%c" でテスト) LC_TIME="en_DK.UTF-8"
- # nano /etc/locale.gen の一番上に次を書き加えるen_US.UTF-8 UTF-8
ja_JP.UTF-8 UTF-8
そして locale-gen
を実行してロケールを生成。- ロケールを
nano /etc/locale.conf
で設定します。
gpartedを動かすため
LANG=en_US.UTF-8
LC_ADDRESS=en_US.UTF-8
LC_IDENTIFICATION=en_US.UTF-8
LC_MEASUREMENT=en_US.UTF-8
LC_MONETARY=en_US.UTF-8
LC_NAME=en_US.UTF-8
LC_NUMERIC=en_US.UTF-8
LC_PAPER=en_US.UTF-8
LC_TELEPHONE=en_US.UTF-8
LC_TIME=en_US.UTF-8
LC_ADDRESS=en_US.UTF-8
LC_IDENTIFICATION=en_US.UTF-8
LC_MEASUREMENT=en_US.UTF-8
LC_MONETARY=en_US.UTF-8
LC_NAME=en_US.UTF-8
LC_NUMERIC=en_US.UTF-8
LC_PAPER=en_US.UTF-8
LC_TELEPHONE=en_US.UTF-8
LC_TIME=en_US.UTF-8
- コンソールキーマップとフォントの設定を
/etc/vconsole.conf
に書きます。
再起動後もキーマップ設定を持続させるために、vconsole.conf を作る
この柿色部分はしなくていいようです。
# nano /etc/vconsole.conf
# nano /etc/vconsole.conf
KEYMAP=jp106
FONT=Lat2-Terminus16
- 自分はしなかったのは以下
- 必要があれば
/etc/mkinitcpio.conf
を設定 (mkinitcpio) し、
イニシャル RAM ディスクを作ります:
# mkinitcpio -p linux
-
passwd
で root パスワードを設定します。
以下コマンドを実行してユーザー登録しましょう。
# useradd -m -G wheel -s /bin/bash taro
# passwd taro
- ifconfigのために pacman-db-upgrade のいるときもある
pacman -S net-tools dnsutils openssh dialog wpa_supplicant
- systemctl enable dhcpcd.service
- systemctl enable sshd.service
- 使わないのですが、もし必要なら nano /root/kotei-adress.bat を書きこんでおきましょう. (固定アドレス設定スクリプト)
- ip addr show
ip link set enp9s0 up
ip addr add 192.168.11.8/24 dev enp9s0
ip route add default via 192.168.11.1 dev enp9s0
ip addr show echo 'nameserver 192.168.100.254' > /etc/resolv.conf
pacman -S grub
grub-install /dev/sda
grub-mkconfig > kg
cp kg /boot/grub/grub.cfg
chroot 環境から抜けるために
exit
次に
/mnt
の下にマウントしたパーティションをアンマウントします:
# umount /mnt
これでやっと halt -p して終了します
2)arch を再起動します
それから
ifconfig -a
で アドレスをみて
別のPCから またもやsshではいります
しかし、もはや rootでははいれないので さっき作ったユーザー archで入ります
ssh -l taro 192.168.100.103
su
そして
su
そして
pacman -S btrfs-progs
pacman -S openntpd
pacman -S openntpd
systemctl enable openntpd
systemctl start openntpd
でまず 時間合わせをします。
3) pacman -yS ...... でアプリをいれる。
アプリを探すには
除けるには
pacman -Rsc
updte は
packman -Syy
packman -Syu
4) その他のアプリ
genisoimage <- pacman -S cdrkit
growisofs <- pacman -S dvd+rw-tools
7)updte は
packman -Syy
packman -Syu
5) X
http://hanjuku-am2.blogspot.jp/2013/05/vaio-type-parch-linux-2.html
をみて
pacman -S xorg xorg-xinit xfce4
nano /home/taro/.xinitrc
startxfce4
nano /home/taro/.xinitrc
startxfce4
pacman -S sddm
- sddm --example-config > /etc/sddm.conf
- systemctl enable sddm
日本語キーボードは でできます
# nano /etc/X11/xorg.conf.d/01-keyboard-layout.conf
Section "InputClass"
Identifier "keyboard-layout"
# Driver "evdev" <ーこれは archbangでみたかな?
MatchIsKeyboard "yes"
Option "XkbModel" "jp106"
Option "XkbLayout" "jp"
EndSection
日本語fontは
pacman -S otf-ipafont
pacman -S fcitx-im fcitx-configtool fcitx-mozc ghostscript
nano /home/taro/.xprofile を
export XMODIFIERS=@im=fcitx
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
なんかし始めますが、 この後は
http://hatahata50.blogspot.jp/2016/08/uefi-arch.html
の fcitx をみてください.
ここで一旦 PCをhalt -p します。
11) 音です
http://opamp.hatenablog.jp/entry/20110829/1314619739 より
# pacman -S alsa-utils
$ alsamixer
12)puppy linux で HDDへのバックアップ
これがとても大事です。
壊れたときarch 再インストールはしんどいですから。
cat /mb2/Arch-backup-sda2-2-sdb2.bat
これは sda2にある arch linuxを sdb2/Arch64-Backup-103119な形にバックアップ
してます・
y='/mnt/sda2'
z='/mnt/sdb2/Arch64-Backup-'`date +%m%d%H`
mkdir -p $z
cd $y
for x in bin boot cdrom dev etc grldr home initrd.img lib lib64 media opt proc root run sbin srv sys tmp usr var vmlinuz
do
(cd $y ; tar cvpf - $x )|( cd $z ; tar xpf - )
done
復活は
(cd /mnt/sdb2/Arch64-Backup-103119; tar cvpf - .)|(cd /mnt/sdb6 ; tar xpf -)
な感じです。
13) AUR を使う。ソースからインストール
openbsdのports systemの公開版かな
https://wiki.archlinux.org/index.php/Arch_User_Repository_%28%E6%97%A5%E6%9C%AC%E8%AA%9E%29
のとおりです。
例として flashpluginをとります。
まず 一般ユーザーで
$ mkdir ~/builds
そしてhttps://aur.archlinux.org/ へいって flashplugin でさがしてこれをダウンロードします。
すると ~/Downloads/に flashplugin-10.1.tar.gzがおちてきます。
そこで
$ cd ~/builds
$ mv ../Downloads/flashplugin-10.1.tar.gz ./
$ tar -xvf flashplugin-10.1.tar.gz
$ cd flashplugin-10.1
$ makepkg -s
すると
==> ソースを取得...
-> ダウンロード fp_10.1.102.64_and_9.0.289.0_archive.zip...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
74 126M 74 93.6M 0 0 177k 0 0:12:08 0:08:59 0:03:09 259k
になって
flashplugin-10.1-10.1.102.64-3-i686.pkg.tar.xz がつくられてます。
そこで
su して
# pacman -U flashplugin-10.1-10.1.102.64-3-i686.pkg.tar.xz
で あっけなく あっさりと するするっと入ります。
たしかに
$ pacman -Qm で flashplugin-10.1
なり aurを使ったことがわかります。
14)cups は ppdがむつかしい。
pacman -S cups
# systemctl start cups-browsed.service
# systemctl enable cups-browsed.service
ppdのためにここで初めてYaourtを使います。
ubuntuのppdの流用はできないからです。
http://note.kurodigi.com/archlinux-yaourt/にかかれてます。
AURを使って
package-query
yaourt
の順にいれて
yaourt -Ss brother
でプリンターをさがし、
yaourt -Sy brother-dcpj925dw
で導入でした。
では もはやできなくなってます。そのため
the step is the following .
--------------------------------
1) pacman -S ghostscript cups
systemctl enable org.cups.cupsd.service わすれてはいけません!
あと
DCP-J925Nという cupsでサポートされてないものは
https://github.com/nozaki87/brother-dcpj925n/blob/master/PKGBUILD
の成果を利用させていただいて
namcap PKGBUILDでチェックしたあと ls ~/builds/j925n/
PKGBUILD brother-dcpj925n.install
として
makepkgでいけます
印刷できるようになったので archがメインマシンになりました。
なお epson EP-706A でも印刷OK! 15)archのネットワークインストール 途中まで
https://wiki.archlinux.org/index.php/PXE_%28日本語%29#.E3.82.B5.E3.83.BC.E3.83.90.E3.83.BC.E3.81.AE.E3.82.BB.E3.83.83.E3.83.88.E3.8
をみました。
internet
|wimax
|
usb wifi子機
arch PXE サーバー
enp1s4
|
archをインストールするマシン
自分の場合は
wifi.batでインターネットをつなげ
nat.bat を動かし PXEサーバーをNATマシン化しました。
普通の有線環境つまり
internet
|
router---archPXEserver
|
archをインストールするマシン
では必要ないでしょう
pacman -S dnsmasq
pacman -S darkhttpd
まず
cat /etc/dnsmasq.conf
interface=enp1s4
bind-interfaces
dhcp-range=192.168.11.50,192.168.11.59,12h
########################
port=0
#interface=eth0
#bind-interfaces
#dhcp-range=192.168.0.50,192.168.0.150,12h
dhcp-boot=/arch/boot/syslinux/lpxelinux.0
dhcp-option-force=209,boot/syslinux/archiso.cfg
dhcp-option-force=210,/arch/
enable-tftp
tftp-root=/mnt/archiso
次に固定アドレスをふります
cat static.bat
ip link set enp1s4 up
ip addr add 192.168.11.8/24 dev enp1s4
#ip route add default via 192.168.11.1 dev enp1s4
ip addr show | grep 192
#echo 'nameserver 192.168.100.254' > /etc/resolv.conf
最後にdnsmasqを動かします。
cat pxe.bat
rm -rf /mnt/archiso
mkdir -p /mnt/archiso
mount -o loop /home/tuyosi/archlinux-2014.12.01-dual.iso /mnt/archiso/
#dnsmasq をいますぐ起動
systemctl start dnsmasq
darkhttpd /mnt/archiso
そしたら ネットワーク起動ができて
CDでブートしたと同じような画面がでます。
ここでhttpのを選ぶとインストールが進行します。
ここで
/etc/resolv.confに nameserver 8.8.8.8
を書き込みをし
更に
ip route add default via 192.168.11.8 dev eth0
をしたら ping www.google.comが通るようになります。
(最初に述べた普通の有線環境では必要ないと考えます)
此処から先はきっといつものインストールになります。
今までのHDDがsdaにはなくsdcになってるなどの困難にであるでしょうが、
pacstrap は動き始めるので 多分大丈夫でしょう。
困難にであったらその時はその時で対処!
でもarchはi586は正式サポート外なので
ネットワークインストールも無理です。
16) # cat /root/.Xdefaults (slacko)
!##################################################
URxvt*background: Black
URxvt*foreground: White
URxvt*geometry: 80x30
URxvt*scrollBar: false
"URxvt.font: 9x15
!-- Xft settings -- !
Xft.dpi: 96
Xft.antialias: true
Xft.rgba: rgb
Xft.hinting: true
Xft.hintstyle: hintfull
! -- Fonts -- !
URxvt.font:xft:Monospace:pixelsize=15
URxvt.boldfont:xft:Monospace-Bold:pixelsize=15
17) 待望のwifiです。
もっと簡単にできて
pacman -S networkmanager **network-manager-applet**
systemctl enable NetworkManager.service
systemctl disable dhcpcd
default_xserver /usr/bin/X
xserver_arguments -nolisten tcp vt07
halt_cmd /sbin/shutdown -h now
reboot_cmd /sbin/shutdown -r now
console_cmd /usr/bin/xterm -C -fg white -bg black +sb -T "Console login" -e /bin/sh -c "/bin/cat /etc/issue; exec /bin/login"
xauth_path /usr/bin/xauth
authfile /var/run/slim.auth
numlock on
login_cmd exec /bin/bash -login ~/.xinitrc %session
sessionstart_cmd /home/X-user/wifi.bat
sessiondir /usr/share/xsessions/
screenshot_cmd import -window root /slim.png
welcome_msg Welcome to %host
shutdown_msg The system is halting...
reboot_msg The system is rebooting...
default_user X-user
focus_password yes
auto_login yes
lockfile /var/lock/slim.lock
logfile /var/log/slim.log
ユーザー権限のを自動実行するには
https://wiki.archlinuxjp.org/index.php/Xfce#.E3.82.B9.E3.82.BF.E3.83.BC.E3.83.88.E3.82.A2.E3.83.83.E3.83.97.E3.82.A2.E3.83.97.E3.83.AA.E3.82.B1.E3.83.BC.E3.82.B7.E3.83.A7.E3.83.B3
をみて
スタートアップアプリケーション
Xfce の起動時にカスタムアプリケーションを実行するには、Applications Menu -> Settings -> Settings Manager から Session and Startup オプションを選択して Application Autostart タブをクリックしてください。18)dhcpdサーバーをつくろう
pacman -S dnsmasq
./comment-out.bat /etc/dnsmasq.conf
interface=enp9s0
bind-interfaces
dhcp-range=192.168.8.50,192.168.8.51,12h
以下のスクリプトは
まず固定アドレスをふり、
次に
dnsmasqをうごかし
最後に
natをしてます。
./comment-out.bat dhcpd-server+NAT.bat
ip addr show
ip link set enp9s0 up
ip addr add 192.168.8.1/24 dev enp9s0
ip addr show
systemctl start dnsmasq
mac='wlp0s29f7u1'
echo '--------- wlan? ------------'
echo $mac
echo '----------------------------'
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t filter -F FORWARD
iptables -t nat -F POSTROUTING
iptables -t nat -F PREROUTING
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t filter -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -o $mac -j MASQUERADE
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_ftp
iptables-save
iptables -L
最後に変わったインストールを書きます
これは Arch20.qcow2 というqemuイメージを 現実のHDDにいれます。
詳しくは
http://qemuandopenbsd.blogspot.jp/2015/11/bohdi-arch20qcow2.html
menuentry 'Windows 7 (loader) (on /dev/sdb2)' {
insmod part_msdos
insmod ntfs
set root='hd1,msdos2'
chainloader +1
}
旅行用の設定
1)wifi 接続 : どのUSB wifiでもいけますし、また安全のためすべてのポートを閉じます。
wifi-menu.bat
x=` ifconfig | grep wlp | cut -d ' ' -f 1 | sed "s/://g" -`
echo $x
echo $x
echo $x
wifi-menu $x
sleep 3
ifconfig $x
SYSCTL="/sbin/sysctl -w"
IPT="/sbin/iptables"
IPTS="/sbin/iptables-save"
IPTR="/sbin/iptables-restore"
INET_IFACE=$x
echo $INET_IFACE
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/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 -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 ! --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 -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 $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 ..."
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 -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 ..."
echo "Load rules for mangle table ..."
rm /etc/resolv.conf
echo 'nameserver 8.8.8.8' > /etc/resolv.conf
ping -c 3 www.google.com