Duangw

develop

操作系统版本:Slackware 12.2

 

1 硬件

配置10块网卡,分别映射到/dev/vmnet0 - /dev/vmnet9。

 

2 安装基础系统

只安装a/目录下的软件包,全部安装。

配置lilo,安装在MBR中。

 

3 安装基本网络包

从光盘安装:

# mount /dev/cdrom /mnt
# cd /mnt/slackware/n
# installpkg iputils-s20070202-i486-2.tgz
# installpkg net-tools-1.60-i486-2.tgz
# installpkg network-scripts-12.2-noarch-4.tgz

 

4 配置网络

执行netconfig配置网络:

# netconfig

netconfig只能配置第一块网卡,其余9块编辑/etc/rc.d/rc.inet1.conf手工设置:

...
# Config information for eth1:
IPADDR[1]="10.10.10.240"
NETMASK[1]="255.255.255.0"
USE_DHCP[1]=""
DHCP_HOSTNAME[1]=""

# Config information for eth2:
IPADDR[2]="10.10.20.240"
NETMASK[2]="255.255.255.0"
USE_DHCP[2]=""
DHCP_HOSTNAME[2]=""

# Config information for eth3:
IPADDR[3]="172.16.0.240"
NETMASK[3]="255.255.255.0"
USE_DHCP[3]=""
DHCP_HOSTNAME[3]=""

# Config information for eth4:
IPADDR[4]="10.20.10.240"
NETMASK[4]="255.255.255.0"
USE_DHCP[4]=""
DHCP_HOSTNAME[4]=""

# Config information for eth5:
IPADDR[5]="10.20.20.240"
NETMASK[5]="255.255.255.0"
USE_DHCP[5]=""
DHCP_HOSTNAME[5]=""

# Config information for eth6:
IPADDR[6]="172.17.0.240"
NETMASK[6]="255.255.255.0"
USE_DHCP[6]=""
DHCP_HOSTNAME[6]=""

# Config information for eth7:
IPADDR[7]="192.168.0.240"
NETMASK[7]="255.255.255.0"
USE_DHCP[7]=""
DHCP_HOSTNAME[7]=""

# Config information for eth8:
IPADDR[8]="192.168.1.240"
NETMASK[8]="255.255.255.0"
USE_DHCP[8]=""
DHCP_HOSTNAME[8]=""

# Config information for eth9:
IPADDR[9]="172.18.0.240"
NETMASK[9]="255.255.255.0"
USE_DHCP[9]=""
DHCP_HOSTNAME[9]=""
...

编辑/etc/rc.d/rc.inet1,修改网卡数量。将:

MAXNICS=${MAXNICS:-6}

改为:

MAXNICS=${MAXNICS:-10}

 

5 配置软件源

这里使用slackpkg工具来进行后续的软件包管理。

首先安装slackpkg和依赖的软件:

# mount /dev/cdrom /mnt
# cd /mnt/slackware/ap
# installpkg slackpkg-2.70.5-noarch-1.tgz
# installpkg diffutils-2.8.1-i486-3.tgz
# cd ../n
# installpkg gnupg-1.4.9-i486-1.tgz
# installpkg gnupg2-2.0.9-i486-1.tgz
# installpkg wget-1.11.4-i486-1.tgz

编辑/etc/slackpkg/mirrors,添加本地镜像:

ftp://10.10.10.199/pub/slackware/slackware-12.2/

初始化:

# slackpkg update
# slackpkg update gpg

修补当前系统:

# slackpkg upgrade-all

 

6 切换为generic内核

制作initrd:

# cd /boot
# mkinitrd -c -k 2.6.27.7-smp -m ext3:scsi_transport_spi:mptbase:mptscsih:mptspi

编辑/etc/lilo.conf,添加启动项:

image = /boot/vmlinuz-generic-smp-2.6.27.7-smp
  initrd = /boot/initrd.gz
  root = /dev/sda1
  label = Generic
  read-only

运行lilo,使之生效:

# /sbin/lilo

重启系统。

 

7 安装库文件

# slackpkg install zlib
# slackpkg install glibc(包括glibc、glibc-i18n和glibc-profile)
# slackpkg install ncurses

 

8 安装其他需要的网络软件

# slackpkg install iptables
# slackpkg install tcpdump
# slackpkg install openssl
# slackpkg install openssh
# slackpkg install mailx
# slackpkg install bind
# slackpkg install netkit-ftp
# slackpkg install lftp

 

9 安装帮助包

# slackpkg install groff
# slackpkg install man(包括man和man-pages)
# slackpkg install texinfo

 

10 安装文件打开查看工具

# slackpkg install lsof

 

11 安装开发工具包

# slackpkg install autoconf
# slackpkg install automake
# slackpkg install binutils
# slackpkg install bison
# slackpkg install flex
# slackpkg install gcc(包括gcc和gcc-g++)
# slackpkg install gdb
# slackpkg install gettext-tools
# slackpkg install kernel-headers
# slackpkg install libtool
# slackpkg install m4
# slackpkg install make
# slackpkg install perl
# slackpkg install python(只选择python)
# slackpkg install subversion

 

12 防火墙配置

有关各个iptables脚本的详细内容见:Iptables脚本

这里使用客户机脚本,从本地服务器获得rc.iptalbes-client.ref、rc.ip6tables.ref和rc.S.ref。执行:

# cp rc.iptables-client.ref /etc/rc.d/rc.iptables
# cp rc.ip6tables.ref /etc/rc.d/rc.ip6tables
# cd /etc/rc.d
# chmod +x rc.iptables
# chmod +x rc.ip6tables

修改/etc/rc.d/rc.S文件,把rc.S.ref模板内容粘贴到rc.S的末尾。

 

13 设置内核参数

有关脚本的详细内容见:Sysctl脚本

从本地服务器获得rc.sysctl.ref和rc.M.ref。执行:

# cp rc.sysctl.ref /etc/rc.d/rc.sysctl
# cd /etc/rc.d
# chmod +x rc.sysctl

编辑/etc/rc.d/rc.M,把rc.M.ref模板内容粘贴到rc.inet2的前面。

 

14 制作sshfs安装包

14.1 安装依赖包

编译sshfs,需要安装如下的软件包:

# slackpkg install fuse
# slackpkg install glib2
# slackpkg install pkg-config

14.2 制作

从sshfs主页fuse.sourceforge.net获得源代码sshfs-fuse-2.2.tar.gz,并从SlackBuilds获得制作脚本sshfs-fuse.tar.gz,放到/sources目录下。

编译:

# cd /sources
# tar xzvf sshfs-fuse.tar.gz
# cd sshfs-fuse
# mv ../sshfs-fuse-2.2.tar.gz .
# ./sshfs-fuse.SlackBuild
# cd /tmp
# mv sshfs-fuse-2.2-i486-1_SBo.tgz /newpkg

14.3 简单使用方法

server端不需要安装sshfs,在client端安装即可。如果client没有安装fuse,则一并安装:

# slackpkg install fuse
# installpkg sshfs-fuse-2.2-i486-1_SBo.tgz

mount:

$ sshfs hostname:directory mountpoint

umount:

$ fusermount -u mountpoint

更多使用方法可参见sshfs的man手册。在一些场合,可以使用sshfs代替nfs,从而避免nfs本身的一些缺陷。