目前分類:Linux (6)

瀏覽方式: 標題列表 簡短摘要

 

CentOS 5.2(X86_64)  Layer 7 封包過濾實作

(注意! 本文僅供參考 , 如與其他版本不符,請自行斟酌) 
下載檔案需手動編譯新版本的核心並加入 layer7 封包過濾選項的話,需要俱備以下套件:
 
    * linux kernel source
    * iptables source
    * l7-filter patch
    * l7-filter protocols
 
在本例中,將重新編譯的版本如下:
 
    * kernel:linux-2.6.28.1.tar.gz
    * iptables:iptables-1.4.2.tar
    * l7-filter patch:netfilter-layer7-v2.21.tar.gz          (修補kernel與iptables)
    * l7-filter protocols:l7-protocols-2009-05-28.tar.gz
(layer7所支援的定義檔)
 
 

更新Kernel  , 並 patch kernel 支援layer7 封包過濾選項
# cd /usr/src
# tar zxvf  linux-2.6.28.1.tar.gz
# tar zxvf  netfilter-layer7-v2.21.tar.gz
# tar xvf  iptables-1.4.2.tar
# tar zxvf l7-protocols-2009-05-28.tar.gz
 
Patch kernel
# cd /usr/src/netfilter-layer7-v2.21
# cp  kernel-2.6.25-2.6.28-layer7-2.21.patch  ../linx-2.6.28.1
# cd  /usr/src/linux-2.6.28.1
# patch -p1  <  kernel-2.6.25-2.6.28-layer7-2.21.patch
 
patching file net/netfilter/Kconfig
patching file net/netfilter/Makefile
patching file net/netfilter/xt_layer7.c
patching file net/netfilter/regexp/regexp.c
patching file net/netfilter/regexp/regexp.h
patching file net/netfilter/regexp/regmagic.h
patching file net/netfilter/regexp/regsub.c
patching file net/netfilter/nf_conntrack_core.c
patching file net/netfilter/nf_conntrack_standalone.c
patching file include/net/netfilter/nf_conntrack.h
patching file include/linux/netfilter/xt_layer7.h
 
開始make kernel
# cd /usr/src/linux-2.6.28.1
# vi  Makefile
 
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 28
EXTRAVERSION = .1   ==> 改成 EXTRAVERSION =-L7filter
 
# cp /boot/config-2.6.18-92.el5  .config    (使用CentOS 5.2所附的設定檔)
# make menuconfig
  
(打開核心選項)                         
-*- Networking support  --->
      Networking options  --->
        [*] Network packet filtering framework (Netfilter)  --->
         [*]   Network packet filtering debugging
      [*]   Advanced netfilter configuration (NEW)
              Core Netfilter Configuration  --->
              <*> Netfilter connection tracking support
                             <M>   "layer7" match support                                 
                             [*]     Layer 7 debugging output
                        IP: Netfilter Configuration  --->
  
以上相關的選項都選擇 , 比較保險
 

##### make kernel 步驟一 #########
# make all
# make modules_install
# depmod -a
# mkinitrd  /boot/initrd-2.6.28-L7filter.img   2.6.28-L7filter
# cp System.map  /boot/Sytem.map-2.6.28-L7filter
# cp  /usr/src/linux-2.6.28.1/arch/x86_64/boot/bzImage     /boot/vmlinuz-2.6.28-L7filter
 
### 如步驟一有問題 ,可試此步驟二  ####
#make
#make modules
#make modules_install
#make install
#cd /boot
#mkinitrd -o initrd-2.6.28-L7filter.img   2.6.25-L7filter
#cp  /usr/src/linux-2.6.28.1/arch/x86_64/boot/bzImage   /boot/vmlinuz-2.6.28-L7filter
 

修改GRUB開機,加入新的Kernel開機選項
# vi /etc/grub.conf
 
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.28-L7filter)
       root (hd0,0)
       kernel /vmlinuz-2.6.28-L7filter ro root=LABEL=/ rhgb quiet
       initrd /initrd-2.6.28-L7filter.img
title CentOS (2.6.18-92.el5)
       root (hd0,0)
       kernel /vmlinuz-2.6.18-92.el5 ro root=LABEL=/ rhgb quiet
       initrd /initrd-2.6.18-92.el5.img
   
# sync
# reboot 
# uname -a  
(查看核心版本)
 
  Linux centos5-2.example.com 2.6.28-L7filter  ....
 
更新與修補iptables
iptables 1.4.1.1 (含) 之後版本的 layer 7 模組已經不需要使用 patch 方式來修改,
只要把修正檔複製到 extensions 資料夾即可。
# cd  /usr/src/netfilter-layer7-v2.21/iptables-1.4.1.1-for-kernel-2.6.20forward
# cp  libxt_layer7.*     ../../iptables-1.4.2/extensions/
# cd  /usr/src/iptables-1.4.2
# ./configure  --with-ksource=/usr/src/linux-2.6.28.1
# make
# make install
 
安裝通訊定義檔 l7-protocols-2009-05-28.tar.gz
# cd /usr/src/l7-protocols-2009-05-28
# make install
 
(以下為執行結果不用打)
mkdir -p /etc/l7-protocols
cp -R * /etc/l7-protocols
 

重新開機
# sync
# reboot
# iptables -V 
(檢查iptables版本)
 
iptables v1.4.2
 
將新的iptables 1.4.2 取代 1.3.5 的版本
# cd /sbin
# mv /sbin/iptables  /sbin/iptables.1.3.5
# mv /sbin/iptables-restore  /sbin/iptables-restore.1.3.5
# mv /sin/iptables-save  /sbin/iptables-save.1.3.5
# ln -s  /usr/local/sbin/iptables  iptables
# ln -s  /usr/local/sbin/iptables-restore  iptables-restore
# ln -s  /usr/local/sbin/iptables-save   iptables-save
 
測試 iptables l7filter 語法
# iptables -m layer7 --help
 
阻擋MSN
# iptables -t mangle -I POSTROUTING -m layer7  --l7proto msnmessenger -j DROP  

 

devin167 發表在 痞客邦 留言(3) 人氣()

1. Download fuse & ntfs-3g

fuse: http://fuse.sourceforge.net/

ntfs-3g: http://www.ntfs-3g.org/index.html#installation
               http://www.ntfs-3g.org/ntfs-3g-1.2712.tgz

2. install fuse  and  ntfs-3g

     fuse install  
     #tar zxvf fuse-2.7.3.tar.gz
     #./configure
     #make
     #make install
     #modprobe fuse

     ntfs-3g install
     #./configure
     #make
     #make install

3.mount NTFS filesystem
    #mount -t ntfs-3g /dev/sda1 /usb

4.add to boot mount
     #vi /etc/fstab
         /dev/sda1 /usb ntfs-3g defaults 0 0

devin167 發表在 痞客邦 留言(0) 人氣()

1.先要確認Server端,被控端的xdm(gdm)的XDMCP功能有打開,
   gdm就是在/etc/gdm/custom.conf,加入底下
   [xdmcp]
   Enable=true
   Port=177
  並執行
  #/usr/sbin/gdm-safe-restart
  即可連線

2.若想要允許root登入的話,再加入以下的設定
  在/etc/gdm/custom.conf,加入底下的設定
  [security]
  AllowRemoteRoot=true

  並執行
  #/usr/sbin/gdm-restart
  即可連線

devin167 發表在 痞客邦 留言(2) 人氣()

RHEL 5.0  以 text mode install 後
Xwindow 介面無法以中文顯示,會出現麻將牌...的狀況

解決方式: install fonts-chinese-3.02-96.el5.noarch.rpm
          #rpm -ivh  fonts-chinese-3.02-96.el5.noarch.rpm
          重新登出,Language方面選中文登入,即可顯示正常~

devin167 發表在 痞客邦 留言(0) 人氣()

RedHat Enterprise 5.0  
以 text mode install  OS後 重開機無法進入 
開機畫面停留在 GRUB Loading stage2 ..

解決方式: 以Boot CD 光碟開機
                boot: linux Rescue
                Language --> 選擇 us
                kebyboard type --> 選擇 us
                setup Networking --> 選擇 No
                Rescue --> 選擇  Continue
                #chroot  /mnt/sysimage
                #cd /sbin
                #./grub-install
                #exit
                重新開機即可~

devin167 發表在 痞客邦 留言(0) 人氣()

下載並解壓縮檔案:
1.      請先Download 10201_database_linux_x86_64.cpio.gz
2.      #gunzip –d 10201_database_linux_x86_64.cpio.gz
3.      #cpio -idmv < 10201_database_linux_x86_64.cpio
設定核心參數:
修改 /etc/sysctl.conf  並加入以下參數:
kernel.shmall = 4294967296
kernel.shmmax = 68719476736
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144
 
#/sbin/sysctl –p    (將以上核心參數改變生效)
 

修改安全性限制
:
修改 /etc/security/limits.conf  並加入以下參數:
*               soft    nproc   2047
*               hard    nproc   16384
*               soft    nofile 1024
*               hard    nofile 65536
 
修改/etc/pam.d/login並加入以下參數:
session    required     /lib64/security/pam_limits.so   
 
修改 /etc/selinux/config 確定SELINUX關閉:
SELINUX=disabled
 

安裝相關套件:
# From RedHat AS5 Disk 1
cd /media/cdrom/Server
rpm -ivh setarch-2*
rpm -ivh make-3*
rpm -ivh glibc-2*
rpm -ivh libaio-0*
 
# From RedHat AS5 Disk 2
cd /media/cdrom/Server
rpm -ivh compat-libstdc++-33-3*
rpm -ivh compat-gcc-34-3*
rpm -ivh compat-gcc-34-c++-3*
rpm -ivh gcc-4*
 
# From RedHat AS5 Disk 3
cd /media/cdrom/Server
rpm -ivh libXp-1.0.0-8   (需再安裝)
rpm -ivh openmotif-2    (需再安裝)
rpm -ivh compat-db-4*   (需再安裝)
 

新增 groups
與 users:
groupadd oinstall
groupadd dba
groupadd oper
 
useradd -g oinstall -G dba oracle
passwd oracle
 
建立目錄與修改權限:
mkdir -p /usr1/oracle/product/10.2.0.1
chown -R oracle.oinstall /usr1
 
修改RedHat 版本:
修改 /etc/redhat-release
Red Hat Enterprise Linux Server release 4 (Tikanga)
 
編輯Oracle user profile :
# Oracle Settings
export ORACLE_BASE=/usr1/oracle
export ORACLE_HOME=/usr1/oracle/product/10.2.0.1
export ORACLE_SID=test
export ORACLE_TERM=xterm
export EDITOR=vi
export NLS_LANG=AMERICAN_AMERICA.ZHT16BIG5
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
## Set shell search paths
export PATH=$PATH:$ORACLE_HOME/bin
## CLASSPATH:
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
以上設定都修改完後,儲存重新開機Reboot
 
Xwindow 環境設定:
請以Oracle身份登入 Xwindow畫面,登入後再切換成 root 身份:
$su – root
# xhost +localhost
#DISPLAY=<hostname>:0.0; export DISPLAY
#exit
Mount 光碟機:
$mkdir /cdrom
$mount /dev/had /cdrom
$cd /cdrom
執行以下指令:
./runInstaller

開始Oracle
安裝畫面




















安裝完畢後請將下面的參數修改回來:
修改 /etc/redhat-release
Red Hat Enterprise Linux Server release 5 (Tikanga)

修改 /etc/passwd 
oracle:x:501:501::/usr1/oracle/product/10.2.0.1:/bin/bash
 
copy /home/oracle/ TO /usr1/oracle/product/10.2.0.1
#cd /home/oracle
#find . –print | cpio –pvdum /usr1/oracle/product/10.2.0.1
 
END



devin167 發表在 痞客邦 留言(0) 人氣()