특정 이더넷 장치 Down / UP 하는 방법
root@main /root]# ifconfig eth0 down
[root@main /root]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:A8:33:F7
inet addr:172.20.1.1 Bcast:172.20.255.255 Mask:255.255.0.0
BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:290 errors:0 dropped:0 overruns:0 frame:0
TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:47265 (46.1 KiB) TX bytes:636 (636.0 b)
[root@main /root]# ifconfig eth0 up
[root@main /root]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:A8:33:F7
inet addr:172.20.1.1 Bcast:172.20.255.255 Mask:255.255.0.0
inet6 addr: fe80::20c:29ff:fea8:33f7/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:291 errors:0 dropped:0 overruns:0 frame:0
TX packets:13 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:47607 (46.4 KiB) TX bytes:874 (874.0 b)
IP 주소, 서브넷 마스크, 서브넷 브로드케스트 주소 변경
[root@main /root]# ifconfig eth0 down
[root@main /root]# ifconfig eth0 100.1.1.1
[root@main /root]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:A8:33:F7
inet addr:100.1.1.1 Bcast:100.255.255.255 Mask:255.0.0.0
inet6 addr: fe80::20c:29ff:fea8:33f7/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:293 errors:0 dropped:0 overruns:0 frame:0
TX packets:20 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:47791 (46.6 KiB) TX bytes:1412 (1.3 KiB)
껏다키면 원래아이피로 돌아온다...사라진다.(임시로)
[root@main /root]# ifconfig eth0 down
[root@main /root]# ifconfig eth0 100.1.1.1 netmask 255.255.255.0 broadcast 100.1.1.255
[root@main /root]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:A8:33:F7
inet addr:100.1.1.1 Bcast:100.1.1.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fea8:33f7/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:293 errors:0 dropped:0 overruns:0 frame:0
TX packets:28 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:47791 (46.6 KiB) TX bytes:2040 (1.9 KiB
[root@main /root]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
1 DEVICE=eth0
2 TYPE=Ethernet
3 UUID=909153ef-7c23-4a7f-8f30-7a0c7dc65ad9
4 ONBOOT=yes
5 NM_CONTROLLED=no
6 BOOTPROTO=none
7 HWADDR=00:0C:29:A8:33:F7
8 IPADDR=172.20.100.1
9 PREFIX=16
10 DEFROUTE=yes
11 IPV4_FAILURE_FATAL=yes
12 IPV6INIT=no
13 NAME="System eth0"
~
~
~
~
"/etc/sysconfig/network-scripts/ifcfg-eth0" 13L, 233C 저장 했습니다
[root@main /root]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:A8:33:F7
inet addr:172.20.1.1 Bcast:172.20.255.255 Mask:255.255.0.0
inet6 addr: fe80::20c:29ff:fea8:33f7/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:306 errors:0 dropped:0 overruns:0 frame:0
TX packets:34 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:49138 (47.9 KiB) TX bytes:2508 (2.4 KiB)
[root@main /root]# service network restart
인터페이스 eth0 (을)를 종료 중: [ OK ]
인터페이스 eth1 (을)를 종료 중: [ OK ]
loopback 인터페이스 종료 중: [ OK ]
loopback 인터페이스 활성화중 입니다: [ OK ]
eth0 인터페이스 활성화중 입니다: Determining if ip address 172.20.100.1 is already in use for device eth0...
[ OK ]
eth1 인터페이스 활성화중 입니다: Determining if ip address 192.168.2.200 is already in use for device eth1...
[ OK ]
[root@main /root]# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:A8:33:F7
inet addr:172.20.100.1 Bcast:172.20.255.255 Mask:255.255.0.0
inet6 addr: fe80::20c:29ff:fea8:33f7/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:306 errors:0 dropped:0 overruns:0 frame:0
TX packets:43 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:49138 (47.9 KiB) TX bytes:3074 (3.0 KiB)
껏다키면 바뀐것대로
서브인터페이스
[root@main /root/바탕화면]# ifconfig eth0:0
eth0:0 Link encap:Ethernet HWaddr 00:0C:29:A8:33:F7
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
[root@main /root/바탕화면]# ifconfig eth0:1
eth0:1 Link encap:Ethernet HWaddr 00:0C:29:A8:33:F7
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
[root@main /root/바탕화면]# ifconfig eth0:2
eth0:2 Link encap:Ethernet HWaddr 00:0C:29:A8:33:F7
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
[root@main /root/바탕화면]# ifconfig eth0:3
eth0:3 Link encap:Ethernet HWaddr 00:0C:29:A8:33:F7
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
[root@main /root]# ifconfig eth0:1
eth0:1 Link encap:Ethernet HWaddr 00:0C:29:A8:33:F7
inet addr:100.1.1.1 Bcast:100.255.255.255 Mask:255.0.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
[root@main /root]# ifconfig eth0:1 down
라우팅 테이블
[root@main /root]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1
0.0.0.0 192.168.2.254 0.0.0.0 UG 0 0 0 eth1
기본경로
route add -net default gw 172.20.1.254
route del default gw 172.20.1.254
DNS 서버 지정
root@main /root]# cat /etc/resolv.conf
# Generated by NetworkManager
# No nameservers found; try putting DNS servers into your
# ifcfg files in /etc/sysconfig/network-scripts like so:
#
# DNS1=xxx.xxx.xxx.xxx
# DNS2=xxx.xxx.xxx.xxx
# DOMAIN=lab.foo.com bar.
[root@main /root]# nslookup www.naver.com
host지정
참고
1.인터넷에서 호스트는, 인터넷을 통해 다른 컴퓨터들과 쌍방향 통신이 가능한 컴퓨터를 말한다. 호스트는 특정한 호스트번호를 갖는데, 이는 네트웍 번호와 합해져서, 고유의 IP 주소를 이루게된다.
vi /etc/hosts
1 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
2 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
3 172.20.1.1 main main.com <- 설정 추가
Hostname 설정
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=main
GATEWAY=192.168.1.254
NTPSERVERARGS=iburst
SELinux 비활성화
sestatus
SELinux status: disabled
vi /etc/selinux/config
1 # This file controls the state of SELinux on the system.
2 # SELINUX= can take one of these three values:
3 # enforcing - SELinux security policy is enforced.
4 # permissive - SELinux prints warnings instead of enforcing.
5 # disabled - No SELinux policy is loaded.
6 SELINUX=enforcing <- disabled 수정
7 # SELINUXTYPE= can take one of these two values:
8 # targeted - Targeted processes are protected,
9 # mls - Multi Level Security protection.
10 SELINUXTYPE=targeted
ARP 테이블 정보 확인
ARP (Address Resolution Protocol) 정의
논리적 주소(IP Address)를 기반으로 물리적 주소(MAC Address)를 알아오는 프로토콜이다.
root@main /root]# arp -n
Address HWtype HWaddress Flags Mask Iface
192.168.1.254 ether 00:50:56:e7:32:90 C eth1
192.168.1.1 ether 00:50:56:c0:00:08 C eth1
[root@main /root]# arp -d 192.168.2.254
[root@main /root]# arp -n
Address HWtype HWaddress Flags Mask Iface
192.168.1.254 (incomplete) eth1
192.168.1.1 ether 00:50:56:c0:00:08 C eth1
[root@main /root]# ping -c 1 168.126.63.1
[root@main /root]# arp -n
Address HWtype HWaddress Flags Mask Iface
192.168.1.254 ether 00:50:56:e7:32:90 C eth1
192.168.1.1 ether 00:50:56:c0:00:08 C
: wq!
chkconfig --list iptables
iptables 0:해제 1:해제 2:해제 3:해제 4:해제 5:해제 6:해제
[root@main /root]# iptables -L 방화벽 해지 및 확인
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[root@main /root]# cat /etc/services | grep -w telnet 서비스 포트 번호 확인
telnet 23/tcp
telnet 23/udp
hp-3000-telnet 2564/tcp # HP 3000 NS/VT block mode telnet
tl1-telnet 3083/tcp # TL1-TELNET
tl1-telnet 3083/udp # TL1-TELNET
scpi-telnet 5024/tcp # SCPI-TELNET
scpi-telnet 5024/udp # SCPI-TELNET
리눅스 서비스 운영 방식(Standalone & xinetd)
Standalone
부팅될때 자동으로 실행되는 서비스들이 사용함
- 서버는 서비스 데몬을 준비한 상태로 운영함
- 서비스가 메모리에 항상 상주해야함 즉, 서비스를 하려면 해당 서버가 메모리에 미리 올라와 있어야 한다.
- 응답 속도가 빠르다.
- '/etc/init.d' 스크립트 파일을 참조함
- 서비스 요청이 많은 경우 효율적이다.
sendmail, apache, mysql , name server, nfs, httpd
ex)예제
[root@main /root]# pgrep -lf httpd
[root@main /root]# service httpd start ---->서비스 시작
httpd (을)를 시작 중: httpd: Could not reliably determine the server's fully qualified domain name, using 172.20.1.1 for ServerName
[ OK ]
[root@main /root]# pgrep -lf httpd
3057 /usr/sbin/httpd
3059 /usr/sbin/httpd
3060 /usr/sbin/httpd
3061 /usr/sbin/httpd
3062 /usr/sbin/httpd
3063 /usr/sbin/httpd
3064 /usr/sbin/httpd
3065 /usr/sbin/httpd
3066 /usr/sbin/httpd
3067 /usr/sbin/httpd
[root@main /root]# service httpd stop ---> 서비스 종료
httpd 를 정지 중: [ OK ]
standalone 서비스 실행 방법
/etc/init.d/sendmail start => sendmail 서비스 시작
/etc/init.d/sendmail stop => senmdial 서비스 종료
/etc/init.d/sendmail restart => sendmail 서비스 재시작
(또는 service sendmail start | service sendmail restart | service sendmail stop 로 실행)
※ 다른 standalone 방식의 서비스도 다 이런식으로 서비스 된다.
-----------------------------------------------------------------------
Xinetd : 연결 되었을 때만 (서비스를 요청할 때)
서버는 클라이언트 연결시에만 서비스를 활성화하여 운영함
- 클라이언트 연결시에만 서비스가 메모리에 상주함
- 응답 속도가 standalone 보다 느리다.
- '/etc/xinetd.d' 파일을 참조함
- 서비스 요청이 적은 경우 효율적이다.
- Ex) telnet, pop3, finger
FTP 클라이언트
[root@main /root]# yum -y install vsftpd
[root@main /root]# service vsftpd start
vsftpd 에 대한 vsftpd 을 시작 중: [ OK ]
[root@main /root]# sestatus
SELinux status: enabled
[root@main /root]# chkconfig --level 5 vsftpd on
[root@main /root]# chkconfig --list vsftpd
vsftpd 0:해제 1:해제 2:해제 3:해제 4:해제 5:활성 6:해제
open FTP 서버 접속
user 로그인 실패시 다시 로그인할때 사용
! FTP 프롬프트에서 쉘 명령어 사용
acsii 전송 모드를 ACSII 타입으로 지정
bin 전송 모드를 Binary 타입으로 지정
get 하나의 파일을 다운로드 실시
mget 다수의 파일들을 다운로드 실시
put 하나의 파일을 업로드 실시
mput 다수의 파일들을 업로드 실시
cd 디렉토리 변경/이동
mkdir 디렉토리 생성
rmdir 디렉토리 삭제
hash 파일송수신시 '#' 마크를 이용하여 전송상태 표시
prompt 비대화식 파일 송수신
close 접속 종료
quit FTP 를 종료하고 쉘로 돌아감
익명계정(anonymous) 접속 방법
name : anonymous
패스워드 없이 그냥 엔터
특이한 점은 다른 디렉토리로 이동 불가능하다.
FTP 서버
1. FTP 서버 유형
vsftpd
가장 널리 사용하는 FTP 서버이며, 보안성이 우수하다.
proftpd
다양한 옵션과 설정들이 지원되지만, 다른 FTP 서버에 비해서 설정 문법이 복잡하다.
pureftpd
잘 사용하지 않는 FTP 서버이며, 간단하게 FTP 서버를 운영할 경우 사용한다.
lcd
서버가 아닌 클라이언트의 현재 디렉토리를 변경함
FTP 동작 모드
Passive Mode(수동)
- FTP 연결 및 메세지 교환은 21 번 포트를 이용한다.
- 파일 및 디렉토리 목록 전송은 임의의 포트를 이용한다.
Active Mode(능동)
- FTP 연결 및 메세지 교환은 21 번 포트를 이용한다.
- 파일 및 디렉토리 목록 전송은 20 번 포트를 이용한다.
vsftpd 서버(Very Secure FTP Daemon)
- 안정적이고 속도가 빠르며, 보안이 우수하다. 그리고 레드헷 리눅스에서 기본으로 채택하는 FTP 서버이다.
- 기본적으로 Standalone 방식으로 동작한다.
[root@main /root]# service vsftpd stop
vsftpd 종료 중: [ OK ]
[root@main /root]# service vsftpd start
vsftpd에 대한 vsftpd을 시작 중: [ OK ]
[root@main /root]# rpm -ql vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/rc.d/init.d/vsftpd
/etc/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf <- vsftpd 설정 파일
/etc/vsftpd/vsftpd_conf_migrate.sh
/usr/sbin/vsftpd
/usr/share/doc/vsftpd-2.2.2
~ 중간 생략 ~
[root@main /root]# ls /etc/init.d/vsftpd
/etc/init.d/vsftpd <- Standalone 방식이기 때문에 '/etc/init.d'에 스크립트 파일이 있음
[root@main /root]# pgrep -fl vsftpd
2176 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
4. 'vsftpd.conf' 설정 파일
- 'vsftpd.conf' 설정 파일은 '/etc/vsftpd' 디렉토리에서 관리한다. 설정 파일을 알아보기 이전에 백업을 실시한다.
[root@main /root]# cd /etc/vsftpd
[root@main /etc/vsftpd]# ls
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh
[root@main /etc/vsftpd]#
[root@main /etc/vsftpd]# cp vsftpd.conf vsftpd.conf.bak
'chroot' 기능
'chroot'는 특정 디렉토리를 최상위 디렉토리로 보이도록 해주는 기능/명령어이다.
Ex) /a/b/c
chroot /a/b
최상위 디렉토리가 '/c' 로 처리됨, 그렇기 때문에 '/c'의 상위 디렉토리인 '/a', '/a/b' 디렉토리로 접근 불가능
일반 계정으로 FTP 서버를 접속하면, 다른 디렉토리로 이동이 가능하다. 이때, chroot 기능을 이용하면, 일반 계정으로 접속시 디렉토리가 상위 디렉토리로 처리되기 때문에 다른 디렉토리로 이동이 불가능해진다.
- clone1에서 'user1' 계정으로 main FTP 접속 실시 (chroot 기능이 없는 경우)
[root@clone1 /root]# ftp main
Connected to main (172.20.1.1).
220 (vsFTPd 2.2.2)
Name (main:root): user1
331 Please specify the password.
Password: centos
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
ftp> pwd
257 "/home/user1"
ftp>
ftp> cd /etc/sysconfig
250 Directory successfully changed.
ftp>
ftp> pwd
257 "/etc/sysconfig"
ftp>
ftp> quit
221 Goodbye.
[root@clone1 /root]#
- 'vsftpd' 설정 파일에서 다음과 같은 설정을 맨 마지막 라인에 추가하고, 서비스를 재시작한다.
[root@main /etc/vsftpd]# vi vsftpd.conf
~ 중간 생략 ~
123 chroot_local_user=YES
: wq!
[root@main /etc/vsftpd]# service vsftpd restart
vsftpd 종료 중: [ OK ]
vsftpd에 대한 vsftpd을 시작 중: [ OK ]
- clone1에서 'user1' 계정으로 main FTP 접속 실시
[root@clone1 /root]# ftp main
Connected to main (172.20.1.1).
220 (vsFTPd 2.2.2)
Name (main:root): user1
331 Please specify the password.
Password: centos
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
ftp> pwd
257 "/"
ftp>
ftp> cd /etc/sysconfig
550 Failed to change directory.
ftp>
ftp> quit
221 Goodbye.
[root@clone1 /root]#
- 'chroot' 기능 주석 처리 실시
[root@main /etc/vsftpd]# vi vsftpd.conf
~ 중간 생략 ~
123 # chroot_local_user=YES
: wq!
@ FTP 서버 접속 사용자 제한
'userlist_deny=YES'인 경우, 다음과 같이 2개의 파일 중 한개의 파일에도 사용자가 설정되어 있다면 FTP 접속이 불가능하다.
[root@main /etc/vsftpd]# ls
banner.txt ftpusers user_list vsftpd.conf vsftpd.conf.bak vsftpd_conf_migrate.sh
'userlist_deny=NO'인 경우, 'user_list' 파일에 정의된 사용자만 FTP 접속이 가능하다.
[root@main /etc/vsftpd]# ls
banner.txt ftpusers user_list vsftpd.conf vsftpd.conf.bak vsftpd_conf_migrate.sh
- 'user_list' 파일에 'user1'을 추가한다.
[root@main /etc/vsftpd]# vi user_list
~ 중간 생략 ~
20 user1
: wq!
- 'vsftpd' 설정 파일에서 다음과 같은 설정을 맨 마지막 라인에 추가하고, 서비스를 재시작한다.
[root@main /etc/vsftpd]# vi vsftpd.conf
~ 중간 생략 ~
124 userlist_deny=NO
: wq!
[root@main /etc/vsftpd]# service vsftpd restart
vsftpd 종료 중: [ OK ]
vsftpd에 대한 vsftpd을 시작 중: [ OK ]
- clone1에서 'user1' 계정으로 main FTP 접속 실시
[root@clone1 /root]# ftp main
Connected to main (172.20.1.1).
220 (vsFTPd 2.2.2)
Name (main:root): user1
331 Please specify the password.
Password: centos
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
ftp> quit
221 Goodbye.
[root@clone1 /root]#
- clone1에서 'user2' 계정으로 main FTP 접속 실시
[root@clone1 /root]# ftp main
Connected to main (172.20.1.1).
220 (vsFTPd 2.2.2)
Name (main:root): user2
530 Permission denied.
Login failed.
ftp>
ftp> quit
221 Goodbye.
[root@clone1 /root]#
- clone1에서 'root' 계정으로 main FTP 접속 실시
[root@clone1 /root]# ftp main
Connected to main (172.20.1.1).
220 (vsFTPd 2.2.2)
Name (main:root): root
c530 Permission denied.
Login failed.
ftp>
ftp> quit
221 Goodbye.
[root@clone1 /root]#
- 'userlist_deny=NO' 주석 처리 실시
[root@main /etc/vsftpd]# vi vsftpd.conf
~ 중간 생략 ~
124 # userlist_deny=NO
: wq!
- 'user_list' 파일 'user1' 삭제
[root@main /etc/vsftpd]# vi user_list
~ 중간 생략 ~
20 user1 <- 삭제
: wq!
@'root' 계정 FTP 접속 방법 (보안상 권장 X)
- clone1에서 'root' 계정을 이용하여 main FTP 서버로 접속이 가능한지 확인하도록 한다.
[root@clone1 /root]# ftp main
Connected to main (172.20.1.1).
220 (vsFTPd 2.2.2)
Name (main:root): root
530 Permission denied.
Login failed.
ftp> quit
221 Goodbye.
- 'root' 계정으로 FTP 접속은 기본적으로 불가능하지만, 다음과 같이 사용자 관련 파일을 수정하면 가능하다.
[root@main /etc/vsftpd]# ls
banner.txt ftpusers user_list vsftpd.conf vsftpd.conf.bak vsftpd_conf_migrate.sh
[root@main /etc/vsftpd]# vi ftpusers
1 # Users that are not allowed to login via ftp
2 root <- 삭제
3 bin
4 daemon
5 adm
6 lp
7 sync
8 shutdown
9 halt
10 mail
11 news
12 uucp
13 operator
14 games
15 nobody
: wq!
[root@main /etc/vsftpd]# vi user_list
1 # vsftpd userlist
2 # If userlist_deny=NO, only allow users in this file
3 # If userlist_deny=YES (default), never allow users in this file, and
4 # do not even prompt for a password.
5 # Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
6 # for users that are denied.
7 root <- 삭제
8 bin
9 daemon
10 adm
11 lp
12 sync
13 shutdown
14 halt
15 mail
16 news
17 uucp
18 operator
19 games
20 nobody
: wq!
[root@main /etc/vsftpd]#
[root@main /etc/vsftpd]# service vsftpd restart
vsftpd 종료 중: [ OK ]
vsftpd에 대한 vsftpd을 시작 중:
- clone1에서 'root' 계정으로 main FTP 접속 실시
[root@clone1 /root]# ftp main
Connected to main (172.20.1.1).
220 (vsFTPd 2.2.2)
Name (main:root): root
331 Please specify the password.
Password: centos
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
ftp> pwd
257 "/root"
ftp>
ftp> quit
221 Goodbye.
[root@clone1 /root]#
FTP 서버 접속 사용자수 제한
- FTP 서버로 접속할 수 있는 사용자수는 기본적으로 무제한이다. clone1과 clone2에서 main FTP 서버로 접속을 확인한다.
[root@clone1 /root]# ftp main
Connected to main (172.20.1.1).
220 (vsFTPd 2.2.2)
Name (main:root):
[root@clone1 /root]#
[root@clone2 /root]# ftp main
Connected to main (172.20.1.1).
220 (vsFTPd 2.2.2)
Name (main:root):
[root@clone2 /root]#
- clone1, clone2에서 'ctrl+c'를 실시하여 FTP 서버 접속을 종료한다.
- 'vsftpd' 설정 파일에서 다음과 같은 설정을 맨 마지막 라인에 추가하고, 서비스를 재시작한다.
[root@main /etc/vsftpd]# vi vsftpd.conf
~ 중간 생략 ~
130 max_clients=1
: wq!
[root@main /etc/vsftpd]# service vsftpd restart
vsftpd 종료 중: [ OK ]
vsftpd에 대한 vsftpd을 시작 중: [ OK ]
- clone1에서 main FTP 접속 실시
[root@clone1 /root]# ftp main
Connected to main (172.20.1.1).
220 (vsFTPd 2.2.2)
Name (main:root):
- clone2에서 main FTP 접속 실시
[root@clone2 /root]# ftp main
Connected to main (172.20.1.1).
421 There are too many connected users, please try later.
ftp>
ftp> quit
[root@clone2 /root]#
- clone1에서 'user1' 계정으로 FTP 로그인 이후, 로그 아웃을 실시한다.
[root@clone1 /root]# ftp main
Connected to main (172.20.1.1).
220 (vsFTPd 2.2.2)
Name (main:root): user1
331 Please specify the password.
Password: centos
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
ftp> quit
221 Goodbye.
[root@clone1 /root]#
- FTP 접속 사용자 수 제한 주석 처리 실시
[root@main /etc/vsftpd]# vi vsftpd.conf
~ 중간 생략 ~
131 # max_clients=1
: wq!
9) 동일한 IP 주소로 여러개 접속 차단
- clone1에서 Putty 2개를 이용하여 main FTP 서버로 동시 접속을 확인한다.
[root@clone1 /root]# ftp main
Connected to main (172.20.1.1).
220 (vsFTPd 2.2.2)
Name (main:root):
[root@clone1 /root]# ftp main
Connected to main (172.20.1.1).
220 (vsFTPd 2.2.2)
Name (main:root):
- clone1, clone2에서 'ctrl+c'를 실시하여 FTP 서버 접속을 종료한다.
[root@clone1 /root]# ftp main
Connected to main (172.20.1.1).
220 (vsFTPd 2.2.2)
Name (main:root): ctrl+c
[root@clone1 /root]#
[root@clone1 /root]# ftp main
Connected to main (172.20.1.1).
220 (vsFTPd 2.2.2)
Name (main:root): ctrl+c
[root@clone1 /root]#
- 'vsftpd' 설정 파일에서 다음과 같은 설정을 맨 마지막 라인에 추가하고, 서비스를 재시작한다.
[root@main /etc/vsftpd]# vi vsftpd.conf
~ 중간 생략 ~
132 max_per_ip=1
: wq!
[root@main /etc/vsftpd]# service vsftpd restart
vsftpd 종료 중: [ OK ]
vsftpd에 대한 vsftpd을 시작 중: [ OK ]
- clone1에서 Putty 2개를 이용하여 main FTP 서버로 동시 접속하면, 2번째로 접속한 clone1는 연결이 거부 된다.
[root@clone1 /root]# ftp main
Connected to main (172.20.1.1).
220 (vsFTPd 2.2.2)
Name (main:root):
[root@clone1 /root]# ftp main
Connected to main (172.20.1.1).
421 There are too many connections from your internet address.
ftp>
ftp> quit
[root@clone1 /root]#
- clone1에서 'user1' 계정으로 FTP 로그인 이후, 로그 아웃을 실시한다.
[root@clone1 /root]# ftp main
Connected to main (172.20.1.1).
220 (vsFTPd 2.2.2)
Name (main:root): user1
331 Please specify the password.
Password: centos
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
ftp> quit
221 Goodbye.
[root@clone1 /root]#
- 동일한 IP 주소로 여러개 접속 차단 주석 처리 실시
[root@main /etc/vsftpd]# vi vsftpd.conf
~ 중간 생략 ~
133 # max_per_ip=1
: wq!
10) 로그 저장
- FTP 접속 및 파일 전송시 로그를 저장한다.
[root@main /etc/vsftpd]# vi vsftpd.conf
~ 중간 생략 ~
39 xferlog_enable=YES
~ 중간 생략 ~
: wq!
[root@main /etc/vsftpd]# cat /var/log/xferlog
Tue Mar 15 15:20:39 2016 1 172.20.1.101 0 /etc/issue* a _ o r user1 ftp 0 * i
Tue Mar 15 15:21:01 2016 1 172.20.1.101 47 /etc/issue a _ o r user1 ftp 0 * c
Tue Mar 15 15:21:16 2016 1 172.20.1.101 46 /etc/issue.net a _ o r user1 ftp 0 * c
Tue Mar 15 15:28:55 2016 1 172.20.1.101 122872 /bin/cp b _ o r user1 ftp 0 * c
Tue Mar 15 15:28:55 2016 1 172.20.1.101 49384 /bin/mkdir b _ o r user1 ftp 0 * c
Tue Mar 15 15:30:21 2016 1 172.20.1.101 49384 /bin/mkdir b _ o r user1 ftp 0 * c
Tue Mar 15 15:30:42 2016 1 172.20.1.101 122872 /bin/cp b _ o r user1 ftp 0 * c
Tue Mar 15 15:30:42 2016 1 172.20.1.101 49384 /bin/mkdir b _ o r user1 ftp 0 * c
Tue Mar 15 15:31:59 2016 1 172.20.1.101 122872 /bin/cp b _ o r user1 ftp 0 * c
Tue Mar 15 15:32:00 2016 1 172.20.1.101 49384 /bin/mkdir b _ o r user1 ftp 0 * c
Tue Mar 15 15:32:51 2016 1 172.20.1.101 122872 /bin/cp b _ o r user1 ftp 0 * c
Tue Mar 15 15:32:51 2016 1 172.20.1.101 49384 /bin/mkdir b _ o r user1 ftp 0 * c
a : ACSII Mode 전송
b : Binary Mode 전송
o : 다운로드
i : 업로드
'네트워크/서버/모의해킹 > 리눅스' 카테고리의 다른 글
17.4.28(54일차 리눅스 명령어-10) (497) | 2017.04.28 |
---|---|
17.4.27(53일차 리눅스 명령어-9) (489) | 2017.04.27 |
17.4.25(51일차 리눅스 명령어-7) (496) | 2017.04.25 |
17.4.24(50일차 리눅스 명령어-6) (506) | 2017.04.24 |
17.4.21(49일차 리눅스 명령어-5) (496) | 2017.04.21 |