海运的博客

PXE启动KickStart全自动安装系统

发布时间:November 4, 2012 // 分类:PXE // No Comments

关于PXE服务器配置、客户端引导见之前文章:使用TFTP/PXE引导安装Centos系统
通过KickStart自动安装只需修改最后PXE引导菜单配置文件:

cat /tftpboot/pxelinux.cfg/default 
#www.haiyun.me
timeout 5
default menu.c32

menu title ########## PXE Boot Menu ##########
label 1
   menu label ^1) Install CentOS 6
   kernel centos6/vmlinuz
   append initrd=centos6/initrd.img ks=nfs:192.168.1.3:/tftpboot/ks.cf 
#引导获取KickStart配置文件,然后在KickStart文件中配置安装源。

KickStart配置文件可使用图形化配置,需安装桌面或开启X-Windows环境转发

yum install system-config-kickstart 

kickstart图形化配置工具.png
KickStart配置文件示例:

text
install
nfs --server=192.168.1.3 --dir=/mnt
#光盘镜像挂载目录
#url --url=http://192.168.1.3/mnt/ #可使用http或ftp
keyboard us
lang zh_CN.UTF-8
network --device eth0 --bootproto static --ip 192.168.1.30 --netmask 255.255.255.0 
--gateway 192.168.1.1 --nameserver 192.168.1.1 --hostname centos5.7-x64
firewall --disabled
rootpw onovps
authconfig --enableshadow --passalgo=sha512
selinux --disabled
timezone Aisa/Shang_Hai
bootloader --location=mbr
zerombr
clearpart --all --initlabel
part /boot --fstype ext4 --fsoptions="noatime" --size=200
part pv.1 --size 1 --grow
volgroup vg0 --pesize=4096 pv.1
logvol / --fstype ext4 --fsoptions="noatime" --name=root --vgname=vg0 --grow --size=8192
logvol swap --fstype swap --name=swap --vgname=vg0 --size 2048
 
%post
%end
%packages
@base
%end

这样局域网下机器以PXE启动就自动安装为相应的系统了。

Centos安装TFTP/NFS/PXE服务器网络引导安装系统

发布时间:November 3, 2012 // 分类:PXE // No Comments

客户端网卡要求支持以PXE启动,配置都在服务端进行,通过PXE网络启动安装系统流程:

客户端以PXE启动发送DHCP请求;
服务器DHCP应答,包括客户端的IP地址,引导文件所在TFTP服务器;
客户端通过TFTP会话下载网络引导文件;
进入PXE引导菜单选项,加载镜像启动安装进程。

1.安装DHCP服务器:

yum install dhcp

DHCP配置:

cat /etc/dhcpd.conf 
#www.haiyun.me
ddns-update-style none;
ignore client-updates; 
default-lease-time           259200;
max-lease-time               518400;
option routers               192.168.1.254;
option domain   www.haiyun.me;
option domain-name-servers   192.168.1.254;

subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.101 192.168.1.200; 
    next-server 192.168.1.3; #TFTP服务器
    allow booting;
    allow bootp;
    filename "pxelinux.0"; #启动引导文件,后续会介绍。
}

host pc {
    hardware ethernet    08:00:27:11:EB:C2;
    fixed-address        192.168.1.130;
    option root-path     "/client/pc01";
    }

2.安装TFTP服务器:

yum install tftp-server

TFTP以xinetd启动,配置如下:

cat /etc/xinetd.d/tftp 
service tftp
{
    socket_type        = dgram
    protocol        = udp
    wait            = yes
    user            = root
    server            = /usr/sbin/in.tftpd
    server_args        = -s /tftpboot
    disable            = no
    per_source        = 11
    cps            = 100 2
    flags            = IPv4
}

3.NFS服务器安装,挂载ISO安装光盘:

yum install nfs
mount -t iso9660 -o loop /dev/cdrom /mnt/
cp /mnt/images/pxeboot/* /tftpboot/

NFS配置:

cat /etc/exports 
/mnt *(rw,no_root_squash)

4.安装syslinux配置网络启动,相当于GRUB。

yum install syslinux
cp /usr/lib/syslinux/pxelinux.0 /tftpboot/

5.PXE引导菜单配置,相当于GRUB配置文件,可根据客户端MAC定义名称。

cp /usr/lib/syslinux/menu.c32 /tftpboot/
mkdir /tftpboot/pxelinux.cfg/
cat /tftpboot/pxelinux.cfg/default 
timeout 100
default menu.c32

menu title ########## PXE Boot Menu ##########
label 1
   menu label ^1) Install CentOS 6
   kernel vmlinuz
   append initrd=initrd.img method=nfs:192.168.1.3:/mnt
   #method为安装光盘目录,可使用FTP/HTTP多种方式
label 2
   menu label ^2) Boot from local drive
   localboot

6.客户端开机以PXE引导启动即可进入Centos安装界面。
PXE网络引导安装Centos.png
后续可通过kickstart无人值守安装系统

ROS动态DNS更新IP到dyndns.org

发布时间:November 2, 2012 // 分类:ROS // No Comments

本脚本用于ROS更新IP至DDNS,适用于dyndns.org。

#https://www.haiyun.me
#设置变量
:local ddnsuser "onovps"
:local ddnspass "onovps"
:local ddnshost "onovps.dyndns.org"
:local ddnsinterface "pppoe-out1"

#设置IP变量
:global newip
:global lastip
:if ([ :typeof $lastip ] = nil ) do={ $lastip "0" }

#获取当前外网IP
:set newip [ /ip address get [/ip address find interface=$ddnsinterface ] address ]
#去掉IP的网段
:set newip [:pick $newip 0 [:find $newip "/"]]

#判断新旧IP是否相同
:if ([ :typeof $newip ] = nil ) do={
   :log info ("DynDNS: " . $ddnsinterface . "没有获取到外网IP")
} else={
  :if ($newip != $lastip) do={
    :log info ("DynDNS:" . $ddnsinterface . "更新IP为" . $newip)
    :local str "/nic/update?hostname=$ddnshost&myip=$newip&wildcard=NOCHG&mx=NOCHG&backmx=NOCHG"
    /tool fetch address=members.dyndns.org src-path=$str mode=http user=$ddnsuser password=$ddnspass dst-path=("/DynDNS.".$ddnshost)
    :delay 1
    :local str [/file find name="DynDNS.$ddnshost"];
    /file remove $str
#设置新IP为上次IP,供下次调用
    :global lastip $newip
  }
}

Iptables/ROS做流量控制QOS的一些理解

发布时间:November 2, 2012 // 分类:Iptables,ROS // No Comments

1.关于Iptables链PREROUTING和POSTROUTING:

#https://www.haiyun.me
PREROUTING在包进入防火墙之后,DNAT之前
POSTROUTING是在DNAT后,SNAT之前

2.在哪里标记,怎么标记上传和下载。

PREROUTING可以根据进入端口为内网或外网标记上传和下载,或根据源地址为本地、非本地标记上传、下载;
POSTROUTING可以根据发出端口、源地址标记上传;
FORWARD可以根据进入端口为内网或外网标记上传和下载,或根据源地址、目标地址都可以。

3.在哪里进行流量整形:
3.1.使用lan和wan:

lan可根据目标地址进行下载限制,正常识别。
wan根据源地址进行上传限制,在SNAT后,源地址已改变,不能正常限制流量。

3.2.使用虚拟接口,ROS使用global in和global-out,Iptables使用IMQ

global-in在PREROUTING、DNAT后,可按目标地址限制下载
global-out在POSTROUTING后,SNAT前,可按源地址限制上传。

4.使用TC限制特定IP下载、上传的问题:
4.1.限制上传使用MARK标记:

iptables -t mangle -I POSTROUTING -s 192.168.1.16 -j MARK --set-mark 27

4.2.限制下载使用U32标记:

tc filter add dev imq1 parent 1:0 protocol ip prio 4 u32 match ip dst 192.168.1.16 flowid 1:24

5.标记mark-connection和mark-packet区别
关于Iptables/ROS进行流控的一些理解,如有误请更正。

此内容被密码保护

发布时间:November 2, 2012 // 分类:VMware,Windows // No Comments

请输入密码访问

分类
最新文章
最近回复
  • opnfense: 谢谢博主!!!解决问题了!!!我之前一直以为内置的odhcp6就是唯一管理ipv6的方式
  • liyk: 这个方法获取的IPv6大概20分钟之后就会失效,默认路由先消失,然后Global IPV6再消失
  • 海运: 不好意思,没有。
  • zongboa: 您好,請問一下有immortalwrt設定guest Wi-Fi的GUI教學嗎?感謝您。
  • 海运: 恩山有很多。
  • swsend: 大佬可以分享一下固件吗,谢谢。
  • Jimmy: 方法一 nghtp3步骤需要改成如下才能编译成功: git clone https://git...
  • 海运: 地址格式和udpxy一样,udpxy和msd_lite能用这个就能用。
  • 1: 怎么用 编译后的程序在家里路由器内任意一台设备上运行就可以吗?比如笔记本电脑 m参数是笔记本的...
  • 孤狼: ups_status_set: seems that UPS [BK650M2-CH] is ...
归档