일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 같은폴더
- Kubernetes
- lvcreate
- permission
- M365필터
- tar
- journalctl
- swapon
- 프로세스
- vagrant kubernetes
- nmcli
- firewalld
- mount
- 엑셀파일명변경
- 리다이렉션
- ssh
- vgcreate
- 날짜변경
- HTTPD
- docker network
- chatGPT
- docker
- MSBing
- yum
- newbingai
- ansible
- docker image
- 랜카드인식불량
- chmod
- pvcreate
- Today
- Total
becool
20210624 (목) FTP, DHCP, PXE server, kickstart 본문
FTP 서버 P586
원격으로 파일을 전송하는 프로토콜/서비스
동작모드 Active / Passive
[root@dns ~]# yum install vsftpd^C
[root@dns ~]# systemctl start vsftpd^C
[root@dns ~]# firewall-cmd --add-service=ftp^C
[root@dns ~]# vim /etc/vsftpd/vsftpd.conf^C
클라이언트에서 파일 업로드/다운로드
-----------------------------------------------------------------------
PXE 서버 https://www.server-world.info/en/note?os=CentOS_7&p=pxe&f=1
Preboot eXecution Environment
네트워크가 연결된 시스템이 처음 부팅 시 설치 및 설정을 자동으로 진행
DHCP서버 + FTP서버 (+ WEB서버) + syslinux
ip정보 iso이미지 리눅스시스템의 부팅
패키지 : syslinux xinetd tftp-server dhcp httpd
서비스 구성 ( 순서 상관 없음)
1) xinetd구성 → tftp 활성화
2) dhcp구성 → IP할당, PXE 서버 주소 및 파일 경로
3) tftp 구성 → 이미지 파일들 복사 및 메뉴파일 작성
4) http 구성 → PXE 접근 제한 설정
서비스 활성화 : dhcp, tftp, httpd, xinetd
방화벽 설정 : tftp, http, dhcp
→ 가상호스트 디렉터리 경로 = 마운트 경로
가상호스트 알리아스 = pxelinux.cfg/default 에서 ip 주소 뒤의 이름
pxelinux.cfg/default 에 kernel/append
[root@web ~]# yum install -y syslinux xinetd tftp-server dhcp httpd
[root@web ~]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@web ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@web ~]# vim /etc/xinetd.d/tftp
disable = no → 활성화 수정 후 저장
server = /usr/sbin/in.tftpd
[root@web ~]# systemctl start xinetd
[root@web ~]# systemctl enable xinetd
[root@web ~]# vim /etc/dhcp/dhcpd.conf
option domain-name "school.exam.com";
option domain-name-servers 10.0.2.10; → DNS 주소
filename "pxelinux.0";
next-server 10.0.2.30; → WEB 서버 주소
…
subnet 10.0.2.0 netmask 255.255.255.0 {
range 10.0.2.1 10.0.2.200; → 대역대
# range 10.0.2.40 10.0.2.50 ; → 40~50사이의 아이피로만 dhcp 할당함.
option routers 10.0.2.1; → Gateway 주소
}
[root@web ~]# systemctl start dhcpd
[root@web ~]# mkdir -p /var/pxe/centos7
[root@web ~]# mkdir /var/lib/tftpboot/centos7
[root@web ~]# mount -t iso9660 -o loop /mnt/iso/CentOS-7-x86_64-DVD-2009.iso /var/pxe/centos7/
mount: /dev/loop0 is write-protected, mounting read-only
[root@web ~]# mount |grep cent
/dev/mapper/centos-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
/mnt/iso/CentOS-7-x86_64-DVD-2009.iso on /var/pxe/centos7 type iso9660 (ro,relatime)
[root@web ~]# cp /var/pxe/centos7/images/pxeboot/vmlinuz /var/lib/tftpboot/centos7/
[root@web ~]# cp /var/pxe/centos7/images/pxeboot/initrd.img /var/lib/tftpboot/centos7/
[root@web ~]# cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/
[root@web ~]# vim /var/lib/tftpboot/pxelinux.cfg/default
timeout 100
default menu.c32
menu title ########## PXE Boot Menu ##########
label 1
menu label ^1) Install CentOS 7
kernel centos7/vmlinuz
append initrd=centos7/initrd.img method=http://10.0.2.30/centos7 devfs=nomount
→ 서버 주소 10.0.2.30+경로
label 2
menu label ^2) Boot from local drive
localboot
[root@web ~]# vim /etc/httpd/conf.d/pxeboot.conf
#CREATE NEW
Alias /centos7 /var/pxe/centos7
<Directory /var/pxe/centos7>
Options Indexes FollowSymLinks
# IP address you allow to access
Require ip 10.0.0.0/24 → 접속을 허가할 IP대역대를 선정 띄어쓰기로 여러 대역대 설정 가능
(all granted 설정가능)
</Directory>
[root@web ~]# firewall-cmd --add-service=tftp
[root@web ~]# firewall-cmd --add-service=http
[root@web ~]# firewall-cmd --add-service=dhcp
[root@web ~]# systemctl start tftp
[root@web ~]# systemctl start dhcpd
[root@web ~]# systemctl start httpd
클라이언트 > 설정 > 네트워크 > 네트워크어댑터사용하기 > nat network선택 > 추가
클라이언트 > 설정 > 시스템 > 네트워크 체크박스
※ 테스트 (클라이언트) https://ipxe.org/start
BIOS(F12) -> Ctrl + B 입력 : iPXE> 커맨드 모드
dhcp 로딩을 통하여 정보를 확인하면 본인의 ip, dns, gateway등이 정상적으로 로드되었음을 확인할 수 있다.
iPXE> dhcp
DHCP (net0 08:00:27:4d:87:ac) ...... ok
iPXE> show ip
net0.dhcp/ip:ipv4 = 10.0.2.8
iPXE> show dns
net0.dhcp/dns:ipv4 = 10.0.2.10
iPXE> route
net0: 10.0.2.8/255.255.255.0 gw 10.0.2.1
잘안될때, 서비스stop후 start (특히 tftp)
/var/log/messages 확인
설치 중에 "/ sbin / dmsquash-live-root : line 273 : write error : No space left on device" 메세지로 인하여 실패하는경우 가상머신 메모리가 부족해서 발생 → 2048 이상의 메모리를 할당해야한다.
[root@localhost /]# service xinetd start
[root@localhost /]# service dhcpd start
[root@localhost /]# service portmap start
[root@localhost /]# service nfs start
※ 현재 dhcp 가 정상작동할때도 있고, DHCPACK 패킷이 제대로 안들어오는 경우도 있음.
정상적으로 ip를 부여받지 못하면, 게이트웨이/dns 모두 임의의 값이 되므로 pxe 도 실패
kickstart
[root@web ~]# mkdir /var/www/html/ks
[root@web ~]# vim /var/www/html/ks/centos7-ks.cfg
install
autostep
reboot
#auth --enableshadow --passalgo=sha512
url --url=http://10.0.2.30/centos7/
ignoredisk --only-use=sda
keyboard us
lang en_US.UTF-8
network --bootproto=dhcp --ipv6=auto --activate --hostname=localhost
rootpw 1234
timezone Asia/Seoul --isUtc --nontp
bootloader --location=mbr --boot-drive=sda
zerombr
clearpart --all --initlabel
autopart → 파티션옵션과 같이쓸수 없음. 아래의 주석을 사용하였을 시, installation destination을 설정하라는 경고문이 발생하므로 autopart로 변경하였음
#part /boot --fstype="xfs" --ondisk=sda --size=500
#part pv.10 --fstype="lvmpv" --ondisk=sda --size=51200
#volgroup VolGroup --pesize=4096 pv.10
#logvol / --fstype="xfs" --size=20480 --name=root --vgname=VolGroup
#logvol swap --fstype="swap" --size=4096 --name=swap --vgname=VolGroup
%packages
@core
%end
'linux' 카테고리의 다른 글
20210629 (화) IP alias (0) | 2021.06.29 |
---|---|
20210625 (금) glusterfs, 가상인터페이스 생성 (0) | 2021.06.25 |
20210624 (목) DHCP (0) | 2021.06.24 |
20210622 (화) Nginx (0) | 2021.06.22 |
20210622 (화) webservice (0) | 2021.06.22 |