⑴ 求高手帮忙下linux系统的Shell编程,我们的一个实验课课题,详见问题补充,谢谢
#!/bin/bash
dir_source="/home/hnsd/workdata/"
yyyymmdd=`date +%Y%m%d`
data_time=`date +%p`
if [ "${data_time}" = "AM" ]; then
workdata=workdata1
dir_back="/home/hnsd/disk1backup/"
else
workdata=workdata2
dir_back="/dev/disk2backup/"
fi
tar zcvf ${dir_back}${yyyymmdd}_${workdata}.tar.gz ${dir_source}*
crontab 写法为
* 12 * * * 脚本绝对路径
30 17 * * * 脚本绝对路径
⑵ Linux Bonding 怎么玩
一、什么是bondingLinux bonding 驱动提供了一个把多个网络接口设备捆绑为单个的网络接口设置来使用,用于网络负载均衡及网络冗余二、bonding应用方向1、网络负载均衡对于bonding的网络负载均衡是我们在文件服务器中常用到的,比如把三块网卡,当做一块来用,解决一个IP地址,流量过大,服务器网络压力过大的问题。对于文件服务器来说,比如NFS或SAMBA文件服务器,没有任何一个管理员会把内部网的文件服务器的IP地址弄很多个来解决网络负载的问题。如果在内网中,文件服务器为了管理和应用上的方便,大多是用同一个IP地址。对于一个百M的本地网络来说,文件服务器在多 个用户同时使用的情况下,网络压力是极大的,特别是SAMABA和NFS服务器。为了解决同一个IP地址,突破流量的限制,毕竟网线和网卡对数据的吞吐量是有限制的。如果在有限的资源的情况下,实现网络负载均衡,最好的办法就是 bonding 2、网络冗余对于服务器来说,网络设备的稳定也是比较重要的,特别是网卡。在生产型的系统中,网卡的可靠性就更为重要了。在生产型的系统中,大多通过硬件设备的冗余来提供服务器的可靠性和安全性,比如电源。bonding 也能为网卡提供冗余的支持。把多块网卡绑定到一个IP地址,当一块网卡发生物理性损坏的情况下,另一块网卡自动启用,并提供正常的服务,即:默认情况下只有一块网卡工作,其它网卡做备份三、bonding实验环境及配置1、实验环境系统为:CentOS,使用4块网卡(eth0、eth1 ==> bond0;eth2、eth3 ==> bond1)来实现bonding技术2、bonding配置第一步:先查看一下内核是否已经支持bonding1)如果内核已经把bonding编译进内核,那么要做的就是加载该模块到当前内核;其次查看ifenslave该工具是否也已经编译modprobe -l bond*或者 modinfo bondingmodprobe bondinglsmod | grep 'bonding'echo 'modprobe bonding &> /dev/null' >> /etc/rc.local(开机自动加载bonding模块到内核)which ifenslave注意:默认内核安装完后就已经支持bonding模块了,无需要自己手动编译2)如果bonding还没有编译进内核,那么要做的就是编译该模块到内核(1)编译bondingtar -jxvf kernel-XXX.tar.gzcd kernel-XXXmake menuconfig选择 " Network device support " -> " Bonding driver support "make bzImagemake moles && make moles_installmake install(2)编译ifenslave工具gcc -Wall -O -I kernel-XXX/include ifenslave.c -o ifenslave第二步:主要有两种可选择(第1种:实现网络负载均衡,第2种:实现网络冗余)例1:实现网络冗余(即:mod=1方式,使用eth0与eth1)(1)编辑虚拟网络接口配置文件(bond0),并指定网卡IPvi /etc/sysconfig/network-scripts/ifcfg-bond0DEVICE=bond0ONBOOT=yesBOOTPROTO=staticIPADDR=192.168.0.254BROADCAST=192.168.0.255NETMASK=255.255.255.0NETWORK=192.168.0.0GATEWAY=192.168.0.1USERCTL=noTYPE=Ethernet注意:建议不要指定MAC地址vi /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0BOOTPROTO=noneONBOOT=yesUSERCTL=noMASTER=bond0SLAVE=yes注意:建议不要指定MAC地址vi /etc/sysconfig/network-scripts/ifcfg-eth1DEVICE=eth1BOOTPROTO=noneONBOOT=yesUSERCTL=noMASTER=bond0SLAVE=yes注意:建议不要指定MAC地址(2)编辑模块载入配置文件(/etc/modprobe.conf),开机自动加载bonding模块到内核
vi /etc/modprobe.conf
alias bond0 bonding options bond0 miimon=100 mode=1
alias net-pf-10 off #关闭ipv6支持说明:miimon是用来进行链路监测的。 比如:miimon=100,那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路;mode的值表示工作模式,他共有0,1,2,3,4,5,6六种模式,常用为0,6,1三种,具体后面会介绍 mode=0,表示load balancing (round-robin)为负载均衡方式,两块网卡都工作,但是与网卡相连的交换必须做特殊配置( 这两个端口应该采取聚合方式),因为做bonding的这两块网卡是使用同一个MAC地址mode=6,表示load balancing (round-robin)为负载均衡方式,两块网卡都工作,但是该模式下无需配置交换机,因为做bonding的这两块网卡是使用不同的MAC地址mode=1,表示fault-tolerance (active-backup)提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份 注意:bonding只能提供链路监测,即从主机到交换机的链路是否接通。如果只是交换机对外的链路down掉了,而交换机本身并没有故障,那么bonding会认为链路没有问题而继续使用(4)重启并测试第一:由于bonding使用的模式为mod=1(网络冗余),所以eth0、eth1与虚拟的bond0同一个MAC地址注意:对比上面这两个图,可知mode=1模式下,eth0与eth1这两块网卡,只有一块网卡在工作(即:eth0),因为eth1网卡的RX与TX都没有在发生变化第二:测试,用ping指令ping虚拟网卡设备bond0的IP地址(192.168.0.254),然后禁用eth0设备看一下能够继续ping的通说明:如上图可得到,断开eth0(上图的右下角),还是可以ping的通的例2:实现网络负载均衡和网络冗余(即:mod=0方式,使用eth0与eth1)注意:VM中只能做mode=1的实验,其它的工作模式得用真机来实践跟例1的步骤一样,只需要修改模块载入配置文件(/etc/modprobe.conf),如下:
alias bond0 bonding options bond0 miimon=100 mode=0
(1)测试如下##目前两块网卡都处于连接状态root@Web:~# ifconfig | grep 'eth' | awk '{print $1}'eth0eth1##禁用了网卡eth0,用ping指令测试反之,也是一样的!例3:实现网络负载均衡和网络冗余(即:mod=6方式,使用eth0与eth1,其中eth0设置为primay)跟例1的步骤一样,只需要修改模块载入配置文件(/etc/modprobe.conf),如下:alias bond0 bonding options bond0 miimon=100 mode=6上图可知:mode=6时,eth0与eth1所使用的MAC是不一样的(1)测试如下##目前两块网卡都处于连接状态root@Web:~# ifconfig | grep 'eth' | awk '{print $1}'eth0eth1##禁用了网卡eth0,用ping指令测试四、bonding运用的注意事项1、bonding的模式:0-6,即:7种模式第一种模式:mod=0 ,即:(balance-rr) Round-robin policy(平衡抡循环策略)特点:传输数据包顺序是依次传输(即:第1个包走eth0,下一个包就走eth1....一直循环下去,直到最后一个传输完毕), 此模式提供负载平衡和容错能力;但是我们知道如果一个连接或者会话的数据包从不同的接口发出的话,中途再经过不同的链路,在客户端很有可能会出现数据包无序到达的问题,而无序到达的数据包需要重新要求被发送,这样网络的吞吐量就会下降第二种模式:mod=1,即: (active-backup) Active-backup policy(主-备份策略)特点:只有一个设备处于活动状态,当 一个宕掉另一个马上由备份转换为主设备。mac地址是外部可见得,从外面看来,bond的MAC地址是唯一的,以避免switch(交换机)发生混乱。此模式只提供了容错能力;由此可见此算法的优点是可以提供高网络连接的可用性,但是它的资源利用率较低,只有一个接口处于工作状态,在有 N 个网络接口的情况下,资源利用率为1/N第三种模式:mod=2,即:(balance-xor) XOR policy(平衡策略)特点:基于指定的传输HASH策略传输数据包。缺省的策略是:(源MAC地址 XOR 目标MAC地址) % slave数量。其他的传输策略可以通过xmit_hash_policy选项指定,此模式提供负载平衡和容错能力第四种模式:mod=3,即:broadcast(广播策略)特点:在每个slave接口上传输每个数据包,此模式提供了容错能力第五种模式:mod=4,即:(802.3ad) IEEE 802.3ad Dynamic link aggregation(IEEE 802.3ad 动态链接聚合)特点:创建一个聚合组,它们共享同样的速率和双工设定。根据802.3ad规范将多个slave工作在同一个激活的聚合体下。外出流量的slave选举是基于传输hash策略,该策略可以通过xmit_hash_policy选项从缺省的XOR策略改变到其他策略。需要注意的是,并不是所有的传输策略都是802.3ad适应的,尤其考虑到在802.3ad标准43.2.4章节提及的包乱序问题。不同的实现可能会有不同的适应性。必要条件:条件1:ethtool支持获取每个slave的速率和双工设定条件2:switch(交换机)支持IEEE 802.3ad Dynamic link aggregation条件3:大多数switch(交换机)需要经过特定配置才能支持802.3ad模式第六种模式:mod=5,即:(balance-tlb) Adaptive transmit load balancing(适配器传输负载均衡)特点:不需要任何特别的switch(交换机)支持的通道bonding。在每个slave上根据当前的负载(根据速度计算)分配外出流量。如果正在接受数据的slave出故障了,另一个slave接管失败的slave的MAC地址。该模式的必要条件:ethtool支持获取每个slave的速率第七种模式:mod=6,即:(balance-alb) Adaptive load balancing(适配器适应性负载均衡)特点:该模式包含了balance-tlb模式,同时加上针对IPV4流量的接收负载均衡(receive load balance, rlb),而且不需要任何switch(交换机)的支持。接收负载均衡是通过ARP协商实现的。bonding驱动截获本机发送的ARP应答,并把源硬件地址改写为bond中某个slave的唯一硬件地址,从而使得不同的对端使用不同的硬件地址进行通信。来自服务器端的接收流量也会被均衡。当本机发送ARP请求时,bonding驱动把对端的IP信息从ARP包中复制并保存下来。当ARP应答从对端到达时,bonding驱动把它的硬件地址提取出来,并发起一个ARP应答给bond中的某个slave。使用ARP协商进行负载均衡的一个问题是:每次广播 ARP请求时都会使用bond的硬件地址,因此对端学习到这个硬件地址后,接收流量将会全部刘翔当前的slave。这个问题通过给所有的对端发送更新(ARP应答)来解决,应答中包含他们独一无二的硬件地址,从而导致流量重新分布。当新的slave加入到bond中时,或者某个未激活的slave重新激活时,接收流量也要重新分布。接收的负载被顺序地分布(round robin)在bond中最高速的slave上当某个链路被重新接上,或者一个新的slave加入到bond中,接收流量在所有当前激活的slave中全部重新分配,通过使用指定的MAC地址给每个 client发起ARP应答。下面介绍的updelay参数必须被设置为某个大于等于switch(交换机)转发延时的值,从而保证发往对端的ARP应答不会被switch(交换机)阻截。必要条件:条件1:ethtool支持获取每个slave的速率;条件2:底层驱动支持设置某个设备的硬件地址,从而使得总是有个slave(curr_active_slave)使用bond的硬件地址,同时保证每个bond 中的slave都有一个唯一的硬件地址。如果curr_active_slave出故障,它的硬件地址将会被新选出来的 curr_active_slave接管其实mod=6与mod=0的区别:mod=6,先把eth0流量占满,再占eth1,....ethX;而mod=0的话,会发现2个口的流量都很稳定,基本一样的带宽。而mod=6,会发现第一个口流量很高,第2个口只占了小部分流量2、bonding驱动选项Bonding驱动的选项是通过在加载时指定参数来设定的。可以通过insmod或modprobe命令的命令行参数来指定,但通常在/etc/modprobe.conf配置文件中指定,或其他的配置文件中下面列出可用的bonding驱动参数。如果参数没有指定,驱动会使用缺省参数。刚开始配置bond的时候,建议在一个终端窗口中运行"tail -f /var/log/messages"来观察bonding驱动的错误信息【译注:/var/log/messages一般会打印内核中的调试信息】有些参数必须要正确的设定,比如miimon、arp_interval和arp_ip_target,否则在链接故障时会导致严重的网络性能退化。很少的设备不支持miimon,因此没有任何理由不使用它们。有些选项不仅支持文本值的设定,出于兼容性的考虑,也支持数值的设定,比如,"mode=802.3ad"和"mode=4"效果是一样的具体的参数列表:1)primay指定哪个slave成为主设备(primary device),取值为字符串,如eth0,eth1等。只要指定的设备可用,它将一直是激活的slave。只有在主设备(primary device)断线时才会切换设备。这在希望某个slave设备优先使用的情形下很有用,比如,某个slave设备有更高的吞吐率注意: primary选项只对active-backup模式有效2)updelay指定当发现一个链路恢复时,在激活该链路之前的等待时间,以毫秒计算。该选项只对miimon链路侦听有效。updelay应该是miimon值的整数倍,如果不是,它将会被向下取整到最近的整数。缺省值为03)arp_interval指定ARP链路监控频率,单位是毫秒(ms)。如果APR监控工作于以太兼容模式(模式0和模式2)下,需要把switch(交换机)配置为在所有链路上均匀的分发网络包。如果switch(交换机)被配置为以XOR方式分发网络包,所有来自ARP目标的应答将会被同一个链路上的其他设备收到,这将会导致其他设备的失败。ARP监控不应该和miimon同时使用。设定为0将禁止ARP监控。缺省值为04)arp_ip_target指定一组IP地址用于ARP监控的目标,它只在arp_interval > 0时有效。这些IP地址是ARP请求发送的目标,用于判定到目标地址的链路是否工作正常。该设定值为ddd.ddd.ddd.ddd格式。多个IP地址通过逗号分隔。至少指定一个IP地址。最多可以指定16个IP地址。缺省值是没有IP地址5)downdelay指定一个时间,用于在发现链路故障后,等待一段时间然后禁止一个slave,单位是毫秒(ms)。该选项只对miimon监控有效。downdelay值应该是miimon值的整数倍,否则它将会被取整到最接近的整数倍。缺省值为06)lacp_rate指定在802.3ad模式下,我们希望的链接对端传输LACPDU包的速率。可能的选项:(1)slow 或者 0请求对端每30s传输LACPDU(2)fast 或者 1请求对端每1s传输LACPDU(3)缺省值是slow7)max_bonds为bonding驱动指定创建bonding设备的数量。比如:如果max_bonds为3,而且bonding驱动还没有加载,那么bond0,bond1,bond2将会被创建。缺省值为16)miimon指定MII链路监控频率,单位是毫秒(ms)。这将决定驱动检查每个slave链路状态频率0表示禁止MII链路监控。100可以作为一个很好的初始参考值。下面的use_carrier选项将会影响如果检测链路状态。更多的信息可以参考“高可靠性”章节。缺省值为08)mode指定bonding的策略。缺省是balance-rr (round robin,循环赛)。可选的mode包括:0,1,2,3,4,5,63、bonding链路监测方法官方文档里说有两种针对链路的监测方法(注意:这两种监测不能同时使用)第一种:miimon(这种方法是最常见的,此方法使用系统的mii-tool命令进行监测)模块加载设置(/etc/modprobe.conf):# Start of bonding configurealias bond0 bondingoptions bond0 miimon=100 mode=1注意:使用cat /proc/net/bonding/bond0,可查看Bonding Mode: load balancing (round-robin)状态options bond0 miimon=100 mode=0注意:使用cat /proc/net/bonding/bond0,可查看Bonding Mode: load balancing ((active-backup))状态 root@Web:~# mii-tooleth0: negotiated 100baseTx-HD, link oketh1: negotiated 100baseTx-HD, link ok缺点:这种方法,只能监测交换机与该网卡之间的链路;如果它们之外的链路的地方断了,而交换机本身没有问题,也就是说你的网卡和交换机之间还是UP状态,它是不会认为网络中断,除非你的网卡是DOWN状态,它才会把链路转到另一块网卡上,就像是拔掉网线一样,或者把交换机端口shutdown一样第二种:arp(这种方法比较实用,你可以把它看作是arp的ping(二层ping),但是可能会给网关造成一定的压力)模块加载:alias bond0 bondingoptions bond0 arp_interval=100 arp_ip_target=192.168.1.1 mode=active-backup primary=eth0解析如下:arp_interval=100,表示arp的检测时间,等同于miimon=100的作用arp_ip_target=192.168.1.1,表示arp检测的目标IP,必须是同网段的,最好就是网关注意:如果使用arp来ping网关不通,那么在/proc/net/bonding/bond0里会一会down,一会up的优点:使用arp这种方法,如果交换机的上出现问题,网络不通,它就会把链转到另一块网卡上,但是不管是哪种方法,在第一块网卡出现问题,链路转到第二块后,如果第一块恢复正常,链路自己不会恢复的
⑶ linux下iptables的nat关于SNAT和DNAT转发实验
一、概述 1. 什么是NAT 在传统的标准的TCP/IP通信过程中,所有的路由器仅仅是充当一个中间人的角色,也就是通常所说的存储转发,路由器并不会对转发的数据包进行修改,更为确切的说,除了将源MAC学校换成自己的MAC学校以外,路由器不会对转发的数据包做任何修改。NAT(Network Address Translation中国络学校翻译)恰恰是出于某种特殊需要而对数据包的源ip学校、目的ip学校、源端口、目的端口进行改写的操作。 2. 为什么要进行NAT 我们来看看再什么情况下我们需要做NAT。 假设有一家ISP提供园区Internet接入服务,为了方便管理,该ISP分配给园区用户的IP学校都是伪IP,但是部分用户要求建立自己的WWW服务器对外发布信息,这时候我们就可以通过NAT来提供这种服务了。我们可以在防火墙的外部中国卡上绑定多个合法IP学校,然后通过NAT技术使发给其中某一个IP学校的包转发至内部某一用户的WWW服务器上,然后再将该内部WWW服务器响应包伪装成该合法IP发出的包。 再比如使用拨号上中国的中国吧,因为只有一个合法的IP学校,必须采用某种手段让其他机器也可以上中国,通常是采用 中国服务器的方式,但是中国服务器,尤其是应用层中国服务器,只能支持有限的协议,如果过了一段时间后又有新的服务出来,则只能等待中国服务器支持该新应用的升级版本。如果采用NAT来解决这个问题, 因为是在应用层以下进行处理,NAT不但可以获得很高的访问速度,而且可以无缝的支持任何新的服务或应用。 还有一个方面的应用就是重定向,也就是当接收到一个包后,不是转发这个包,而是将其重定向到系统上的某一个应用程序。最常见的应用就是和squid配合使用成为透明中国,在对http流量进行缓存的同时,可以提供对Internet的无缝访问。 3. NAT的类型 在linux2.4的NAT-HOWTO中,作者从原理的角度将NAT分成了两种类型,即源NAT(SNAT)和目的NAT(DNAT),顾名思义,所谓SNAT就是改变转发数据包的源学校,所谓DNAT就是改变转发数据包的目的学校。 二、原理 在“用iptales实现包过虑型防火墙”一文中我们说过,netfilter是Linux 核心中一个通用架构,它提供了一系列的"表"(tables),每个表由若干"链"(chains)组成,而每条链中可以有一条或数条规则(rule)组成。并且系统缺省的表是"filter"。但是在使用NAT的时候,我们所使用的表不再是"filter",而是"nat"表,所以我们必须使用"-t nat"选项来显式地指明这一点。因为系统缺省的表是"filter",所以在使用filter功能时,我们没有必要显式的指明"-t filter"。 同filter表一样,nat表也有三条缺省的"链"(chains),这三条链也是规则的容器,它们分别是: PREROUTING:可以在这里定义进行目的NAT的规则,因为路由器进行路由时只检查数据包的目的ip学校,所以为了使数据包得以正确路由,我们必须在路由之前就进行目的NAT; POSTROUTING:可以在这里定义进行源NAT的规则,系统在决定了数据包的路由以后在执行该链中的规则。 OUTPUT:定义对本地产生的数据包的目的NAT规则。 三、操作语法 如前所述,在使用iptables的NAT功能时,我们必须在每一条规则中使用"-t nat"显示的指明使用nat表。然后使用以下的选项: 1. 对规则的操作 加入(append) 一个新规则到一个链 (-A)的最后。 在链内某个位置插入(insert) 一个新规则(-I),通常是插在最前面。 在链内某个位置替换(replace) 一条规则 (-R)。 在链内某个位置删除(delete) 一条规则 (-D)。 删除(delete) 链内第一条规则 (-D)。 2. 指定源学校和目的学校 通过--source/--src/-s来指定源学校(这里的/表示或者的意思,下同),通过--destination/--dst/-s来指定目的学校。可以使用以下四中方法来指定ip学校: a. 使用完整的域名,如“至美.linuxaid中国中国”; b. 使用ip学校,如“192.168.1.1”; c. 用x.x.x.x/x.x.x.x指定一个中国络学校,如“192.168.1.0/255.255.255.0”; d. 用x.x.x.x/x指定一个中国络学校,如“192.168.1.0/24”这里的24表明了子中国掩码的有效位数,这是 UNIX环境中通常使用的表示方法。 缺省的子中国掩码数是32,也就是说指定192.168.1.1等效于192.168.1.1/32。 3. 指定中国络接口 可以使用--in-interface/-i或--out-interface/-o来指定中国络接口。从NAT的原理可以看出,对于PREROUTING链,我们只能用-i指定进来的中国络接口;而对于POSTROUTING和OUTPUT我们只能用-o指定出去的中国络接口。 4. 指定协议及端口 可以通过--protocol/-p选项来指定协议,如果是udp和tcp协议,还可--source-port/--sport和 --destination-port/--dport来指明端口。 四、准备工作 1. 编译内核,编译时选中以下选项,具体可参看“用iptales实现包过虑型防火墙”一文: Full NAT MASQUERADE target support REDIRECT target support 2. 要使用NAT表时,必须首先载入相关模块: modprobe ip_tables modprobe ip_nat_ftp iptable_nat 模块会在运行时自动载入。 五、使用实例 1. 源NAT(SNAT) 比如,更改所有来自192.168.1.0/24的数据包的源ip学校为1.2.3.4: iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to 1.2.3.4 这里需要注意的是,系统在路由及过虑等处理直到数据包要被送出时才进行SNAT。 有一种SNAT的特殊情况是ip欺骗,也就是所谓的Masquerading,通常建议在使用拨号上中国的时候使用,或者说在合法ip学校不固定的情况下使用。比如 # iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE 可以看出,这时候我们没有必要显式的指定源ip学校等信息。 2. 目的SNAT(DNAT) 比如,更改所有来自192.168.1.0/24的数据包的目的ip学校为1.2.3.4: iptables -t nat -A PREROUTING -s 192.168.1.0/24 -i eth1 -j DNAT --to 1.2.3.4 这里需要注意的是,系统是先进行DNAT,然后才进行路由及过虑等操作。 有一种DNAT的特殊情况是重定向,也就是所谓的Redirection,这时候就相当于将符合条件的数据包的目的ip学校改为数据包进入系统时的中国络接口的ip学校。通常是在与squid配置形成透明中国时使用,假设squid的监听端口是3128,我们可以通过以下语句来将来自192.168.1.0/24,目的端口为80的数据包重定向到squid监听 端口: iptables -t nat -A PREROUTING -i eth1 -p tcp -s 192.168.1.0/24 --dport 80 -j REDIRECT --to-port 3128 六、综合例子 1. 使用拨号带动局域中国上中国 小型企业、中国吧等多使用拨号中国络上中国,通常可能使用中国,但是考虑到成本、对协议的支持等因素,建议使用ip欺骗方式带动区域中国上中国。 成功升级内核后安装iptables,然后执行以下脚本: #载入相关模块 modprobe ip_tables modprobe ip_nat_ftp #进行ip伪装 iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE 2. ip映射 假设有一家ISP提供园区Internet接入服务,为了方便管理,该ISP分配给园区用户的IP学校都是伪IP,但是部分用户要求建立自己的WWW服务器对外发布信息。我们可以再防火墙的外部中国卡上绑定多个合法IP学校,然后通过ip映射使发给其中某一个IP学校的包转发至内部某一用户的WWW服务器上,然后再将该内部WWW服务器响应包伪装成该合法IP发出的包。 我们假设以下情景: 该ISP分配给A单位至美服务器的ip为: 伪ip:192.168.1.100 真实ip:202.110.123.100 该ISP分配给B单位至美服务器的ip为: 伪ip:192.168.1.200 真实ip:202.110.123.200 linux防火墙的ip学校分别为: 内中国接口eth1:192.168.1.1 外中国接口eth0:202.110.123.1 然后我们将分配给A、B单位的真实ip绑定到防火墙的外中国接口,以root权限执行以下命令: ifconfig eth0 add 202.110.123.100 netmask 255.255.255.0 ifconfig eth0 add 202.110.123.200 netmask 255.255.255.0 成功升级内核后安装iptables,然后执行以下脚本: #载入相关模块 modprobe ip_tables modprobe ip_nat_ftp 首先,对防火墙接收到的目的ip为202.110.123.100和202.110.123.200的所有数据包进行目的NAT(DNAT): iptables -A PREROUTING -i eth0 -d 202.110.123.100 -j DNAT --to 192.168.1.100 iptables -A PREROUTING -i eth0 -d 202.110.123.200 -j DNAT --to 192.168.1.200 其次,对防火墙接收到的源ip学校为192.168.1.100和192.168.1.200的数据包进行源NAT(SNAT): iptables -A POSTROUTING -o eth0 -s 192.168.1.100 -j SNAT --to 202.110.123.100 iptables -A POSTROUTING -o eth0 -s 192.168.1.200 -j SNAT --to 202.110.123.200 这样,所有目的ip为202.110.123.100和202.110.123.200的数据包都将分别被转发给192.168.1.100和192.168.1.200;而所有来自192.168.1.100和192.168.1.200的数据包都将分 别被伪装成由202.110.123.100和202.110.123.200,从而也就实现了ip映
⑷ linux操作系统 课程标准
—、计算机操作系统课程设计方案 课程概况 计算机操作系统是中央电大计算机科学与技术专业(本科)的一门统设必修课。课程教学总学时72,4学分,开设一学期。前修课程为计算机组成原理、面向对象程序设计和数据结构。 计算机操作系统课是计算机专业的重要课程之一,通过学习使学员掌握计算机操作系统的设计基本原理及组成;计算机操作系统的基本概念和相关的新概念、名词及术语;了解计算机操作系统的发展特点和设计技巧和方法;对常用计算机操作系统(dos、windows和unix或linux)会进行基本的操作使用。 课程主要内容 主要内容包括:计算机操作系统概述、作业管理、文件管理、存储管理、输入输出设备管理、进程及处理机管理、操作系统结构及程序设计。 二、教学内容体系及教学要求 第一章 操作系统概述 教学内容: 操作系统定义及发展;操作系统的形成和五大类型;操作系统的五大功能;表征操作系统的属性;操作系统的配置、“生成”概念 教学要求: 熟练掌握:什么是操作系统;知道操作系统有五大类型和五大功能; 掌握:至少掌握一种实际揽操作系统的安装、使用和维护; 了解:初步了解如何认识、熟悉和解剖操作系统 第二章 人机交互界面、任务、作业管理 教学内容: 人机交互界面的发展特点;第一、二、三代界面开发特点;基本的键盘命令和系统调用操作系统shell语言;作业调度算法; 教学要求: 熟练掌握:能进行一些人机接口界面的设计; 掌握:掌握操作系统人机接口界面的基本设计思想; 了解:操作系统传统的接口界面 第三章 文件管理 教学内容: 文件管理的任务与功能;文件的结构与分类;文件的物理结构和逻辑结构;文件的目录结构;文件的存取控制和安全机制;文件系统与模型结构; 教学要求: 熟练掌握:文件的基本存取控制和系统管理; 掌握:文件系统的目录分类管理特点; 了解:文件系统的编程设计 第四章 内部存储管理 教学内容: 内存的分区、分页、分段管理概念;物理地址与逻辑地址;内存“扩充”技术;页式存储管理;段式存储管理;内存的分配算法 教学要求: 熟练掌握:内存管理中基本分配和调度方法; 掌握:掌握内存管理中各种分区、分页和分段方法的特点; 了解:内存空间的有效利用 第五章 输入输出设备管理 教学内容: 输入输出设备功能与分类;独享、共享、虚拟设备的管理特点;输入输出设备处理程序;输入输出设备的管理策略; 教学要求: 熟练掌握:掌握输入输出设备的管理特点; 掌握:掌握输入输出设备的分类设计方法; 了解:输入输出设备处理程序的编程要点 第六章 低级处理机管理 教学内容: 操作系统核心功能;“进程”概念;进程的并发与并行;进程的基本状态与转换;进程调度算法;进程的同步与互斥;进程的p—v操作;“死锁”概念; 教学要求: 熟练掌握:操作系统核心运行与“进程”的基本概念; 掌握:“进程”的基本转换状态与应用特点; 了解:进程调度算法的程序编制 第七章 操作系统程序结构 教学内容: 操作系统的层次、模块结构;操作系统的设计与检测; 教学要求: 本章教学基本要求:了解现代计算机操作系统的基本设计思想与方法 三、课程教学媒体说明 本课程使用的教学媒体主要有:文字教材、录像教材和网上教学辅导。 1. 文字教材 《计算机操作系统》(第2版)吴企渊着清华大学出版社 注:课程实验含在主教材中。 文字教材为该课程的主媒体。文字教材的编写既保持了学科体系的先进性、科学性,又兼顾操作系统的理论、技术、实现三方面的融合,并强调能力的培养。 2. 录像教材 该课程已经制作16讲课程录像,每讲50分钟,讲授课程的重点、难点、课程总结。帮助学生理解,建立操作系统的整体概念和思想,由吴企渊教授主讲。 课程录像与文字教材相对应,注意发挥录像教材艺术表现力、形象化教学的作用。 3.网上教学辅导 网上教学辅导与上述媒体有机配合,有几方面作用:(1)发布教学指导性文件、课程公告、问题咨询、参考资料;(2)按照教学进度,发布辅导文章,刊登练习自测题;(3)在课程论坛上进行实时答疑和日常答疑;(4)开展网上的教师培训和教学研讨等工作。 文字教材是学生学习的基本依据,录像教材是文字教材的补充,网上辅导则是教与学交互的便捷方式。总之,多种媒体的分工和搭配为学生提供较大的自学空间,便于学生自由选择、自主学习,提高学生的自学能力。 四、教学安排建议 1. 课程主教材及课程实验教学安排建议 教学点请根据中央电大的统一要求安排课程的面授辅导,见表1。 表1 课程主教材及课程实验教学安排建议 周次 教学内容 建议学时 实验内容 建议学时 一 操作系统课程教学安排概况介绍 2 二 操作系统定义、五大类型和五大功能 4 三 人机交互界面管理 2 linux实践准备 1 四 作业管理任务调度 4 五 文件管理的任务和功能 2 linux操作命令使用 1 六 文件的逻辑结构和物理结构 4 七 存储管理的任务和功能 2 命令解释程序编制 2 八 分区式分配存储管理 4 九 页式、段式分配存储管理 6 作业调度模拟编程 4 十 设备管理的任务和功能 2 十一 设备分配技术和管理 4 存储管理设计 4 十二 进程的定义和特征 4 十三 进程调度与通信 6 进程调度模拟编程 4 十四 死锁的产生和处理 2 十五 操作系统的层次模块结构 4 十六(总复习) 4 总计56 16 课程录像内容,见表2。 表2 录像教材内容 章 教学内容 课内学时 录像学时分配 一 操作系统概述 8学时 4 二 作业管理 8学时 2 三 文件管理 8学时 2 四 存储管理 8学时 2 五 设备管理 8学时 2 六 进程管理 10学时 4 七 操作系统程序结构 6学时 0 总计56学时 16 2、网上辅导 网上辅导内容包括课程的教学文件、课程辅导、网络课堂。充分利用网络资源,定期与不定期的在网上提供有关的课程辅导材料,根据教学需要,适当安排网上辅导和考前答疑活动。具体安排如下: 教学文件 包括课程说明、教师介绍、教学大纲、教学设计方案。 课程辅导 包括课程作业及解答、专题辅导、练习和解答、期末自测、考核说明等;网上还提供了教师讲课教案,供各教学点教学使用。 网络课堂 包括直播课堂和ip课件。 网上教学活动:中央电大一般将每学期集中安排1次对学生的实时在线辅导,和1次对教师的教研活动。具体的时间安排每学期在电大在线主页上公布。 论坛:进行课程的日常答疑。 3、直播课堂 课程首开学期,通过教育电视台直播方式,安排4次直播课堂,每次50分。前3讲为对教学重点、难点,对教学过程中反映的共性问题和有代表性的问题进行辅导,后1讲为复习辅导和有关考试说明。直播课堂的内容挂在课程网页内。 4、作业 该课程有一份形成性考核册,即课程作业册。作业成绩计入课程总成绩。中央电大将不定期地抽查作业,检查作业的评审及完成情况。 关于课程考核的具体内容,请参考中央电大“计算机操作系统课程考核说明”。 五、教学方法的建议 教学建议 (1)计算机操作系统是实践性较强的课程。其特点是概念多、涉及面广。要求教学辅导要由浅入深对易混淆的概念加以详细说明,对每章的重点,管理和控制的调度算法技巧作详细介绍。 (2)在实验中着重培养学员熟练使用操作系统,以及在维护操作系统工作中的分析问题和解决问题能力。 学习建议 (1)学习操作系统要从宏观和微观两方面把握。在宏观上要认识操作系统在计算机系统中的地位,清楚操作系统的整体结构;微观方面应掌握操作系统是如何管理计算机的各种资源的(进程、处理机、存储器、文件、设备),理解有关概念、原理及技术。 (2)操作系统是计算机技术与管理技术的结合,学习时可以联想日常生活中熟悉的管理示例反复体会操作系统的管理方法,以加深对问题的理解。 (3)注意加强对自主学习能力和动手能力的培养,努力实现“学以致用”的目标。
⑸ Linux下DHCP服务器的配置(求大侠帮忙写出来就行,还能追加分)
三.具体实验:
任务一 简述安装DHCP服务器的过程:
yum install -y dhcp.x86_64
或者rpm -ivh dhcp.x86_64
任务二 配置DHCP:
[root@test ~]# rpm -q dhcp
dhcp-4.1.1-30.P1.el6.x86_64
[root@test ~]# rpm -qc dhcp |grep conf
/etc/dhcp/dhcpd.conf
/etc/dhcp/dhcpd6.conf
/etc/sysconfig/dhcpd
/etc/sysconfig/dhcpd6
/etc/sysconfig/dhcrelay
[root@test ~]# vim /etc/dhcp/dhcpd.conf
修改为下面参数:
subnet 192.168.45.0 netmask 255.255.255.0 {
range 192.168.45.101 192.168.45.200;
option domain-name-servers 192.168.0.1;
option domain-name "ncie.org";
option routers 192.168.45.254;
option broadcast-address 192.168.45.255;
default-lease-time 720;
max-lease-time 2160;
}
四.思考题:
1.如果在一个子网内有多余一台DHCP服务器提供服务,结果会怎样?
>> 如果一个子网内有多余一台DHCP服务器提供服务,结果有两种可能:
a) 如果两台DHCP服务器的地址池不同,比如甲为192.168.45.101-192.168.45.200,乙为192.168.45.201-192.168.45.220,那么网络可以正常使用,没有任何问题.
b) 如果两台DHCP服务器的地址池相同,那么会出现地址冲突的效果,比如PC1从甲获取了192.168.45.201的地址,这个IP在甲中被保留,但在乙中这个地址还在地址池里,那么另一台PC2很有可能从乙获取192.168.45.201,那么PC1和PC2的地址冲突,就会影响两台PC的正常网络通信.
纯手工输入,非复制粘贴...
⑹ linux LVM镜像卷实验遇到的问题
情况介绍:一、由于硬盘或者分区的操作方式其实都一样,所以我这里就以分区为例。二、/home分区2.6G,由如下pv组成:/dev/sda5100M/dev/sda6200M/dev/sda7300M/dev/sda8400M/dev/sda9500M/dev/sda10600M/dev/sda11500M很碎对吧?^_^因为测试。三、随机写了一堆文件进去,用量达到了2G,空闲500M四、准备将sda6这个200M的PV卸掉(卸掉的容量必须小于空闲容量)好了开始具体操作了。卸载分区(缩小操作必须卸载才能进行):umount/home缩小分区:e2fsck-f/dev/liuhg_disk/homeresize2fs/dev/liuhg_disk/home2200M首先将分区缩小到2200M这是为了给sda6腾出空间,sda6为200M,而我腾出了400M,因此应该是足够的。缩小逻辑卷:lvrece-L2200M/dev/liuhg_disk/home分区缩小了用到的逻辑卷也要随着缩小,并查看PV使用的状态:pvdisplay-m显示如下:---Physicalvolume---PVName/dev/sda5VGNameliuhg_diskPVSize103.26MiB/notusable3.26MiBAllocatableyes(butfull)PESize4.-b4jc-OOfZ-f2QA-ttdQ-DZeD-Ce3rb3---PhysicalSegments---Physicalextent0to24:Logicalvolume/dev/liuhg_disk/homeLogicalextents0to24---Physicalvolume---PVName/dev/sda6VGNameliuhg_diskPVSize203.92MiB/notusable3.92MiBAllocatableyes(butfull)PESize4.00MiBTotalPE50FreePE0<-----太悲剧了,sda6里写满了数据一点不剩AllocatedPE50<-----这50PE的数据要挪走才行,否则数据就丢了,并且存放的地方也必须是连续的至少50PEPVUUIDS2ane6-nlFG-uSNR-35NP-Yxa6-cXRb-r8E8mK---PhysicalSegments---Physicalextent0to49:Logicalvolume/dev/liuhg_disk/homeLogicalextents25to74---Physicalvolume---PVName/dev/sda7VGNameliuhg_diskPVSize305.89MiB/notusable1.89MiBAllocatableyesPESize4.00MiBTotalPE76FreePE76<---这个分区有76个空余,因此预计装那50个是不会有问题的AllocatedPE0PVUUID9CFnlx-CAEw-CSul-Rig9-FiCN-zK0a-oGmTEP---PhysicalSegments---Physicalextent0to75:FREE---Physicalvolume---PVName/dev/sda8VGNameliuhg_diskPVSize407.87MiB/notusable3.87MiBAllocatableyesPESize4.-x2xr-2xLG-QQD4-jbtS-3C4i-xPn4Bl---PhysicalSegments---Physicalextent0to40:Logicalvolume/dev/liuhg_disk/:FREE---Physicalvolume---PVName/dev/sda9VGNameliuhg_diskPVSize509.84MiB/notusable1.84MiBAllocatableyes(butfull)PESize4.-oMKt-NEoJ-ojBK-2Csc-1dca-1mh6Ue---PhysicalSegments---Physicalextent0to126:Logicalvolume/dev/liuhg_disk/homeLogicalextents225to351---Physicalvolume---PVName/dev/sda10VGNameliuhg_diskPVSize603.98MiB/notusable3.98MiBAllocatableyes(butfull)PESize4.-A49n-M6HA-ZLXf-d8nS-pfZr-YeQsKT---PhysicalSegments---Physicalextent0to149:Logicalvolume/dev/liuhg_disk/homeLogicalextents75to224---Physicalvolume---PVName/dev/sda11VGNameliuhg_diskPVSize478.47MiB/notusable2.47MiBAllocatableyes(butfull)PESize4.-tDVx-dryX-KM1x-g96Y-sptI-9iUOcU---PhysicalSegments---Physicalextent0to118:Logicalvolume/dev/liuhg_disk/homeLogicalextents352to470将sda6设置为离线状态:pvchange-xn/dev/sda6使用pvdisplay-m显示如下:……---Physicalvolume---PVName/dev/sda6VGNameliuhg_diskPVSize203.92MiB/notusable3.92MiBAllocatableNO<-----表示已经关闭了该PVPESize4.-nlFG-uSNR-35NP-Yxa6-cXRb-r8E8mK……将sda6的数据移走:pvmove-i1/dev/sda6-i1是每1秒钟报告一次数据迁移的进度。[root@liuhg/]#pvmove-i1/dev/sda6/dev/sda6:Moved:38.0%/dev/sda6:Moved:84.0%/dev/sda6:Moved:100.0%重新用pvdisplay-m显示如下:……---Physicalvolume---PVName/dev/sda6VGNameliuhg_diskPVSize203.92MiB/notusable3.92MiBAllocatableNOPESize4.00MiBTotalPE50FreePE50<----显示完全空闲和TotalPE数一致AllocatedPE0PVUUIDS2ane6-nlFG-uSNR-35NP-Yxa6-cXRb-r8E8mK……从卷组里把sda6删除:[root@liuhg/]#vgreceliuhg_disk/dev/sda6Removed"/dev/sda6"fromvolumegroup"liuhg_disk"pvdisplay-m再看看吧:---NEWPhysicalvolume---<-----还告诉你这是一个新的PV^_^PVName/dev/sda6VGName<-----空了PVSize203.-nlFG-uSNR-35NP-Yxa6-cXRb-r8E8mK到此vgdisplay-v能看到已经没有了/dev/sda6了。重新挂载/home[root@liuhg/]#mount/dev/liuhg_disk/home/home[root@liuhg/]#df-hFilesystemSizeUsedAvailUse%Mountedon/dev/sda12.0G546M1.3G30%/tmpfs504M0504M0%/dev/shm/dev/mapper/liuhg_disk-home2.2G1.8G42M98%/home进去看看数据,一个都没丢。
⑺ 新手入门Linux的步骤
很多Linux初学者不知从何处开始学起,怎么学,感觉很茫然。Linux菜鸟要成为Linux高手,要有一个好的学习计划和规划,参加正规培训班,要不然时间花了很多,却没有效果。这里介绍学习Linux的步骤和建议,也可以咨询老男孩教育,希望对初学者有帮助。
准备阶段:(1)了解Linux是什么,有什么优缺点,发展历史和现状,应用领域;(2)赶快找一部计算机,赶快安装一个 Linux 发行版本,要自己亲手安装一遍Linux操作系统(包括虚拟机的Linux环境和完整真实的Linux环境);(3)熟悉Linux环境和Linux基本操作
菜鸟阶段之选教程:选择一本好的工具书工具书对于学习者而言是相当重要的。如:跟老男孩学Linux运维,linux就该这样学等。
菜鸟阶段之系统命令:Linux命令是必须好好学习和经常使用,而不要经常去使用菜单操作。一定要养成在命令行下工作的习惯
中级阶段之命令行习惯:养成在命令行下工作:一定要养成在命令行下工作的习惯,要不然没法成为高手
中级阶段之Linux系统结构理解、语言编程与英语:C语言、C++,QT,shell,makefile,java,vi编辑器使用。这些至少要精通一两门编程语言吧
高级阶段之网络编程:Linux是网络的代名词,Linux网络服务功能非常强大,不论是邮件服务器、Web服务器、DNS服务器等都非常完善。要增加自己Linux 的技能,只有通过实践来实现了。所以学习Linux也一样,如果你无法经常学习的话,学了后面的,前面的忘了。你对Linux命令熟悉后你可以开始搭建一个小的Linux网络,这是最好的实践方法。 当然你不需搭建所有服务,可以慢慢来。需要说明的是这个Linux网络对于初学者有两三台计算机即可。学好了学好学精了Linux的网络编程,可以肯定的告诉你,你已经是一个非常优秀的Linux人才或者“Linux高手”了
高级阶段之嵌入式编程、底层驱动编程与内核源码:成为Linux高手的重要的方向
⑻ linux系统怎么分区和取卷标
Linux下常用的分区工具:
fdisk/sfdisk:命令行工具,各种版本和环境都能使用,包含在软件包util-linux中
diskdruid:图形化分区工具,只能在安装REDHAT系统时使用。
下面我们开始实验:
环境/工具:Fedora 14/256M内存卡;fdisk
第一步:fdisk
[root@novice ~]# fdisk -l /dev/sdb
Disk /dev/sdb: 254 MB, 254017536 bytes
8 heads, 61 sectors/track, 1016 cylinders, total 496128 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
[root@novice ~]# fdisk /dev/sdb
Command (m for help): #在输入上面的命令后会出现左边的提示,输入m就会得到一个帮助菜单,如下:
Command (m for help): m
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
#help虽然是英文的,可都很简单,在这里不再解释。
#现在,我们正式开始分区的操作:
Command (m for help): n #新建分区
Command action
e extended
p primary partition (1-4)
#e/p分别对应扩展分区 /主分区;我们先分四个主分区,每个50M;然后再来增加主分区或扩展分区,看会出现怎样的状况,嘿嘿。
p #分区类型为主分区
Partition number (1-4, default 1): 1 #分区号,在这里我们依次选择1、2、3、4
First sector (2048-496127, default 2048): #指定分区的起始扇区,一般默认,按enter键即可。
Last sector, +sectors or +size{K,M,G} (2048-496127, default 496127): +50M #指定分区的终止扇区,根据前面的提示我们可以做出相应的选择+sectors 或 +size{K,M,G}
Command (m for help): p #用p打印出已建好的分区列表
Disk /dev/sdb: 254 MB, 254017536 bytes
8 heads, 61 sectors/track, 1016 cylinders, total 496128 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdb1 2048 104447 51200 83 Linux
#剩下的三个分区的建立操作同上
#分好四个主分区后的情况如下
Command (m for help): p
Disk /dev/sdb: 254 MB, 254017536 bytes
8 heads, 61 sectors/track, 1016 cylinders, total 496128 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdb1 2048 104447 51200 83 Linux
/dev/sdb2 104448 206847 51200 83 Linux
/dev/sdb3 206848 309247 51200 83 Linux
/dev/sdb4 309248 309298 25+ 83 Linux
#已经建好四个主分区啦,现在我们来看看如果再建主分区或是扩展分区的话会出现怎样的情况:
Command (m for help): n
You must delete some partition and add an extended partition first
#看到了吧,不能再建分区啦!要再建分区的话必须删除some分区,再新建一个扩展分区才行。
#现在,我们删掉一个主分区,来新建扩展分区
Command (m for help): d #删除分区
Partition number (1-4): 4 #选择要删除分区的分区号,我们选第四个
Command (m for help): p #打印,如下,四个分区变成了三个!
Disk /dev/sdb: 254 MB, 254017536 bytes
8 heads, 61 sectors/track, 1016 cylinders, total 496128 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdb1 2048 104447 51200 83 Linux
/dev/sdb2 104448 206847 51200 83 Linux
/dev/sdb3 206848 309247 51200 83 Linux
#新建一个扩展分区
#如果在没有建满三个主分的区的情况下建立扩展分区,相关选项会有些不同。
Command (m for help): n
Command action
e extended
p primary partition (1-4)
e
Selected partition 4
First sector (309248-496127, default 309248): #enter,默认
Using default value 309248
Last sector, +sectors or +size{K,M,G} (309248-496127, default 496127): #enter,默认,使用剩余空间
Using default value 496127
Command (m for help): p
Disk /dev/sdb: 254 MB, 254017536 bytes
8 heads, 61 sectors/track, 1016 cylinders, total 496128 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdb1 2048 104447 51200 83 Linux
/dev/sdb2 104448 206847 51200 83 Linux
/dev/sdb3 206848 309247 51200 83 Linux
/dev/sdb4 309248 496127 93440 5 Extended
#接下来,我们在新建的扩展分区里再新建两个逻辑分区,因为已经有了三个主分区,这里不会再显示是建立逻辑分区还是主分区的提示!
Command (m for help): n
First sector (311296-496127, default 311296): #enter
Using default value 311296
Last sector, +sectors or +size{K,M,G} (311296-496127, default 496127): +50M
Command (m for help): n
First sector (415744-496127, default 415744): #enter
Using default value 415744
Last sector, +sectors or +size{K,M,G} (415744-496127, default 496127): #enter
Using default value 496127
Command (m for help): p
Disk /dev/sdb: 254 MB, 254017536 bytes
8 heads, 61 sectors/track, 1016 cylinders, total 496128 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdb1 2048 104447 51200 83 Linux
/dev/sdb2 104448 206847 51200 83 Linux
/dev/sdb3 206848 309247 51200 83 Linux
/dev/sdb4 309248 496127 93440 5 Extended
/dev/sdb5 311296 413695 51200 83 Linux
/dev/sdb6 415744 496127 40192 83 Linux
#上面的列表,就是我们今天分区的成果啦!接下来保存退出,重启计算机,就可以进行下一步的mkfs操作啦!如果忘记了相关的操作命令,记得按m!!!
Command (m for help): w #保存
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
另:在建好分区后,我们还可以更改相关分区的文件系统类型
#如,我们要把第二个主分区改成Linux下的交换分区,操作如下
Command (m for help): t #更改文件系统类型
Partition number (1-6): 2 #选择第二个分区
Hex code (type L to list codes): L #选择要更改的文件系统编码,可以按L来查看相关编码信息。
0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris
1 FAT12 39 Plan 9 82 Linux swap / So c1 DRDOS/sec (FAT-
2 XENIX root 3c PartitionMagic 83 Linux c4 DRDOS/sec (FAT-
3 XENIX usr 40 Venix 80286 84 OS/2 hidden C: c6 DRDOS/sec (FAT-
............
16 Hidden FAT16 64 Novell Netware af HFS / HFS+ fb VMware VMFS
17 Hidden HPFS/NTF 65 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST SmartSleep 70 DiskSecure Mult b8 BSDI swap fd Linux raid auto
1b Hidden W95 FAT3 75 PC/IX bb Boot Wizard hid fe LANstep
1c Hidden W95 FAT3 80 Old Minix be Solaris boot ff BBT
1e Hidden W95 FAT1
Hex code (type L to list codes): 82 #查找到linux swap的编码为82
Changed system type of partition 2 to 82 (Linux swap / Solaris)
Command (m for help): p
..............
Device Boot Start End Blocks Id System
/dev/sdb1 2048 104447 51200 83 Linux
/dev/sdb2 104448 206847 51200 82 Linux swap / Solaris
/dev/sdb3 206848 309247 51200 83 Linux
/dev/sdb4 309248 496127 93440 5 Extended
/dev/sdb5 311296 413695 51200 83 Linux
/dev/sdb6 415744 496127 40192 83 Linux
#最后别忘了保存!如果你须要的话!
#扩展分区不能直接使用,逻辑分区只能建立在扩展分区上!
查看Linux系统中分区的卷标信息
可以通过e2label命令来实现:
用法: e2label device [新卷标]
示例:
e2label /dev/hdxn where x=a,b,c,d....; n=1,2,3...
[root@localhost ~]# e2label /dev/sda1