FTP (File Transfer Protocol) : 파일 전송 규약

- TCP/IP 환경에서 파일 전송용 Application Protocol.

- 시스템에 등록된 사용자들을 위한 FTP Service와 익명의 모든 사용자에게 개방하는 Anonymous FTP Service가 있음.

- FTP는 TCP기반으로써 TCP 서비스만 사용하게 됨.

- 20Data포트(데이터 전송용)Control 포트인 21번 포트 2개의 포트를 사용.

- FTP mode에 따라 Data 포트가 항상 20번 포트를 사용하는 것은 아님.

- ActivePassive 모드가 있으며 접속 요청을 하는 클라이언트가 결정하게 됨.

 

 

 

Active Mode

- 20Data 포트 사용

- 5150으로 21번 포트에 연결

- 5151(Data포트로 사용할 포트 번호) 알려줌

- Server20(Data 포트)로 5151(Data 포트)에 접근

- Client에서 방화벽을 신경 써야 한다. (Server에서 Client로 접속하기 때문에)

 

 

 

Passive Mode

- 3267이라는 랜덤 포트를 사용하겠다고 알려줌

- Client가 해당 포트로 접근해서 송신

- FTP에 사용할 랜덤 포트 범위를 정해놓고 방화벽을 해제해놓아야 한다.

 

Mode 모두 사용한다.

'리눅스' 카테고리의 다른 글

NFS 실습  (0) 2022.11.01
NFS (Network File System)  (0) 2022.11.01
scp  (0) 2022.10.31
SSH 설정  (0) 2022.10.28
DHCP (Dynamic Host Configuration Protocol)  (0) 2022.10.28

scp

[ Linux Lunux SSH 연결 ]

ssh [remote-IP]                          // 계정을 따로 지정하지 않는다.

ssh l [user-name] [remote-IP]

ssh [user-name]@[remote-IP]  // 어떤 계정에 접속할지 명시해놓는다.

 

scp -> ssh + cp

 

실습

1. blog-02 -> blog-01

blog-01,02에 scp디렉터리 생성

blog-02에서 A파일을 생성 후 blog-01로 전송

 

blog-01에 파일 생성된 것 확인 가능

 

2. blog-01 -> blog-02

blog-01에 B파일을 생성

 

blog-02에서 blog-01에 있는 B파일을 가져옴

 

root 계정이 아닌 사용자 계정으로 파일을 생성 후 보내기를 시도했지만 권한이 없기 때문에 Permission denied 오류 발생

 

blog-01에서 권한을 부여한 후 다시 보내면

 

보내진 것 확인 가능

 

반대도 똑같이 권한 부여하고 받을 수 있다.

 

'리눅스' 카테고리의 다른 글

NFS (Network File System)  (0) 2022.11.01
FTP  (0) 2022.10.31
SSH 설정  (0) 2022.10.28
DHCP (Dynamic Host Configuration Protocol)  (0) 2022.10.28
채널 본딩  (0) 2022.10.27

win 10의 가상 호스트의 네트워크 설정을 바꿔준 후 blog-01에 네트워크 어뎁터를 추가합니다.

 

nmtui 명령어 입력 후 연결편집 -> 유선 연결 1 -> 프로 파일 이름 : ens34 -> ipv4 수동 -> 보기로 이동하여 설정해줍니다.

systemctl status sshd 입력 후 active 상태인 것을 확인

 

3개가 있어야 실습 가능

 

Telnet으로 접속을 하게 되면 DATA가 그대로 보내져서 외부 해커가 스니핑으로 데이터를 가로챌 수 있기 때문에 암호화된 데이터를 보내기 위해 SSH를 사용한다.

SSH DATA 전송방식

Client에서 DATA를 자물쇠로 암호화해서 보내면 Server는 자물쇠를 풀 수 있는 개인키를 가지고 DATA를 해독한다.

 

 

telnet 패키지를 설치해준 후 방화벽까지 설정해 줍니다.

 

telnet을 시작한 후 win 10에서 putty를 사용하여 telnet으로 접속합니다.

 

wireshark 패킷 하나하나 확인하면 암호화되지 않고 모두 한 글자씩 보내진 것 확인 가능

 

- ssh의 개인설정 파일

- Port 번호를 바꾸고 주석을 지운 후 restart를 실행하면 Port번호가 바뀐다.

- putty 접속할 때 바꾼 Port번호로 접속을 해야 한다.

- 방화벽 설정을 해야 접속이 가능하다.

 

AddressFamily any (Line 18)

- any를 지우고 inet을 작성하면 v4만 사용하겠다, inet6를 사용하면 v6만 사용하겠다.

 

ListenAddress (Line 19)

- 바인딩 IP(서비스에 대한 받아들일 요청을 IP를 지정하는 것) 보안설정

- ens34(관리용)NICSSH접속이 가능하게 설정하고 ens32(client)에서는 SSH접속 거부하기 위해 사용하는 설정이다. 받아들일 IP주소를 적어놓으면 그 외의 주소를 차단한다. 외부에서 들어오는 트래픽을 막기 위해 사용한다.

- 관리용 NIC를 따로 둬서 일부 사람들만 접속이 가능하게 한다.

// netstat antp | grep sshd 사용해서 설정한 ip를 확인할 수 있다.

 

HostKey (Line 22)

- 키 교환 알고리즘을 어떤 식으로 사용할 것인지 명시하는 것

- 안전한 알고리즘들만 설정되어 있으므로 굳이 따로 설정할 때가 아니면 만질 필요 없음.

 

Logging (Line 30)

- 로그인을 하거나 어떤 일을 하면 로그를 남겨야 한다.

- 로그 남기는 수준을 level로 정의

- AUTH를 사용하면 인증에 성공했을 때만 로그를 남기겠다. 보통 사용하지 않음

- 로그인 실패했을 때 로그를 남기는 것도 중요함

- 로그 기록을 남길 때 너무 높은 수준으로 남기면 기록이 적게 남고, 너무 낮은 수준으로 남기면 기록이 너무 많이 생기기 때문에 적당한 Level로 적용하는 것이 좋음.

 

LoginGraveTime (Line 37)

로그인 작업을 정해진 시간 안에 하지 않으면 연결이 끊어진다.

 

PermitRootLogin (Line 38) ★★★★★

- root의 로그인을 막는 설정

- no로 설정해서 root로그인을 막는다.

- 시스템 보안설정 중 필수 설정

// [root@Linux-01 ~]# systemctl restart sshd

// 새로 접속하면 다시 하면 비밀번호를 입력해도 거부된다.

// 관리자 권한으로 접속하려면 su명령어를 사용해야 한다.

 

MaxAuthTries (Line 40)

- 패스워드 틀렸을 때 주는 기회 수

 

MaxSessions (Line 41)

- Session을 지정한 개수까지 허용하겠다.

 

PasswordAuthentication (Line 65)

- 패스워드 인증

- 패스워드 기반의 인증을 사용

- 클라우드 기반에서는 사용하지 않음

- 클라우드에서는 인스턴스라고 부름

바꾼 port번호로 접속하지 않고 원래 ssh port번호로 접속하면 접속 거부되는것을 확인 가능

 

 

'리눅스' 카테고리의 다른 글

FTP  (0) 2022.10.31
scp  (0) 2022.10.31
DHCP (Dynamic Host Configuration Protocol)  (0) 2022.10.28
채널 본딩  (0) 2022.10.27
IP Binding  (0) 2022.10.27

DHCP (Dynamic Host Configuration Protocol)

- 클라이언트 컴퓨터나 다른 TCP/IP 기반 네트워크 장치(ex. 복합기)IP주소를 제공하는 서비스

- IP와 함께 라우터(G/W), DNS 서버 같은 네트워크 리소스와 연결할 수 있도록 옵션 제공

- DHCP 클라이언트에 특정 기간 IP를 임대하며 갱신을 요청하는 경우 IP주소를 갱신

- 특정 컴퓨터나 장치에 IP주소 예약이 가능하다.

- Port 번호는 Server(UDP:67), Client(UDP:68) 사용한다.

- 최근에는 공유기를 설치하기 때문에 잘 사용되지 않음.

 

DHCP 주소 임대 과정

DHCP Discover client to server 주소를 요청

DHCP Offer server to client 사용할 주소를 제공

DHCP Request client to server 제공받는 주소 사용을 승인

DHCP ACK server to client 주소 사용 승인

통신은 Client가 요청하면서부터 시작된다.

항상 내부 네트워크에 허가되지 않은 DHCP주소가 있는지 확인해야 함..

 

DHCP Package

- dhcp-common-4.2.5-47.el7.centos.x86_64

- dhcp-devel-4.2.5-47.el7.centos.x86_64

- dhcp-4.2.5-47.el7.centos.x86_64

- dhcp-libs-4.2.5-47.el7.centos.x86_64

 

DHCP 관련 파일

- /etc/dhcp/dhcpd.conf (DHCP 서비스 메인 설정 파일)

- /var/lib/dhcpd/dhcpd.leases (DHCP 데이터 베이스 파일 임대 정보 들을 확인 가능)

 

DHCP Client 명령어 (Windows)

- ipconfig /all [ NIC 상세정보 확인 ]

- ipconfig /renew [ DHCP를 이용한 IP주소 할당 및 재할당 ]

- ipconfig /release [ DHCP 임대 해제 ]

169.254.0.0 /16(APIPA) 네트워크가 할당될 경우 정상적인 DHCPDHCP 서비스를 제공받지 못한 상태

 

'리눅스' 카테고리의 다른 글

scp  (0) 2022.10.31
SSH 설정  (0) 2022.10.28
채널 본딩  (0) 2022.10.27
IP Binding  (0) 2022.10.27
네트워크 인터페이스 실습  (0) 2022.10.27

Channel-Bonding

- 채널 본딩이랑 여러 개의 NIC(네트워크 인터페이스 카드)를 하나로 묶어 단일 Channel 형식으로 운영하는 것을 말한다.

- 채널 본딩을 구현할 경우 Fault Tolerance 환경을 구축할 수 있으며, 네트워크 인터페이스에 대한 Redundancy를 구현할 수 있다.

- 폴트 톨러런스라 한쪽 장치에 문제가 발생하더라도 반대쪽 장치에서 그 기능을 온전히 수행하므로,, 전체 시스템 운영에는 문제가 발생하지 않는 환경을 말한다.

- 부하도가 많은 장치의 경우 채널 본딩을 통한 네트워크 트래픽에 대한 Load Balancing을 구현할 수 있다.

- Load BalancingNIC의 대역폭을 균형 있게 사용하여 전체 네트워크 트래픽에 대한 각 장치의 부하도를 감소시킬 수 있다. (부하 분산)

- 최대 8개까지 묶을 수 있다.

 

 

[Mode 0] : Balance-rr (Round Robin)

- LoadBalancing구현 가능, 전체 NIC에 대한 순환 통신을 진행하고, 데이터 전송시에만 부하 분산 진행 (“Default ”)

 

[Mode 1] : Active-Backup

- Failover, bond 내의 하나의 NIC만 통신, Main NIC에 문제가 발생 했을 경우 Bond내의 대체 NIC가 통신을 수행

 

[Mode 4] : 802.3ad(LACP)

- Failover, 동적 부하 분산, NIC 대역폭 확장 통신 (IEEE 802.3ad 통신을 지원하는 스위치와 연결되어있을 경우 사용 가능)

 

논리적인 bond0(Master Device)을 생성 후 bond0이 사용할 물리적인 device(Slave Device)(ens32, ens34)을 추가한다.

bond0에만 ip 주소를 부여한다.

 

실습

 

 

'리눅스' 카테고리의 다른 글

SSH 설정  (0) 2022.10.28
DHCP (Dynamic Host Configuration Protocol)  (0) 2022.10.28
IP Binding  (0) 2022.10.27
네트워크 인터페이스 실습  (0) 2022.10.27
네트워크 인터페이스  (0) 2022.10.27

- 하나의 NIC에 여러 개의 IP주소를 할당하는 기술

- 한 대의 서버에서 여러 개의 서비스를 운영하는데 각각 서로 다른 IP주소로 서비스하고자 할 때 사용

네트워크에서 SVI 설정과 같다.

 

재시작하면 사라진다.

 

TYPE=Ethernet

BOOTPROTO=none

DEFROUTE=yes

NAME=ens32:0

DEVICE=ens32:0

ONBOOT=yes

IPADDR=192.168.1.120

PREFIX=24

GATEWAY=192.168.1.2

DNS1=8.8.8.8

 

- 재시작해도 정보가 살아있다.

- MAC Address 같은 것 확인 가능

 

- 생성했던 파일 삭제

 

 

'리눅스' 카테고리의 다른 글

DHCP (Dynamic Host Configuration Protocol)  (0) 2022.10.28
채널 본딩  (0) 2022.10.27
네트워크 인터페이스 실습  (0) 2022.10.27
네트워크 인터페이스  (0) 2022.10.27
Kernel  (0) 2022.10.20

Network Adepter 추가 후 NAT로 설정

 

- ifconfig 하면 ens34가 추가된 것 확인 가능

- ifcfg-ens32 파일을 복사해서 ens34로 이름 바꾼 후 저장하면 된다.

- nmtui를 쓰면 편하게 할 수 있다.

 

 

인터페이스 장치 설정 파일 (IP주소 설정 관련)

DEVICE : 인터페이스 장치명

BOOTPROTO : 프로토콜 지정 (static, dhcp)

BROADCAST : Broad Cast 주소

HWADDR : 하드웨어 주소 (MAC)

IPADDR : IP 주소 (static)

NETMASK : Netmask

NETWORK : Network 대표 주소

ONBOOT : 부팅 시 활성화 여부

TYPE : 데이터링크 계층의 타입 (ethernet)

GATEWAY : G/W 주소

DNS1 : DNS 서버 주소

 

- UUID는 같은 연결 새로 해서 nmcli conn으로 확인 후 복사 붙여 넣기 해서 바꿔준다.

 

 

'리눅스' 카테고리의 다른 글

채널 본딩  (0) 2022.10.27
IP Binding  (0) 2022.10.27
네트워크 인터페이스  (0) 2022.10.27
Kernel  (0) 2022.10.20
Cron 실습  (0) 2022.10.20

ifconfig : 네트워크 인터페이스의 정보를 확인할 때 사용하는 명령어 [ net-tools 패키지가 필 요하다. ]

              IP주소, Broadcast주소, MAC 주소, Interface 카드의 성능 정보 등을 확인

 

ifconfig [장치명] up/down (활성화/비활성화)

   - 장치명 ex) ens 32

ifconfig [장치명] [변경할 IP] netmask [Netmask 주소] broadcast [Broadcast 주소]

   - ip 주소를 잠시 변경하는 작업

   - System 재부팅 및 Network 프로세스를 재시작할 경우 다시 원래의 IP로 돌아옴.

 

'리눅스' 카테고리의 다른 글

IP Binding  (0) 2022.10.27
네트워크 인터페이스 실습  (0) 2022.10.27
Kernel  (0) 2022.10.20
Cron 실습  (0) 2022.10.20
Cron  (0) 2022.10.20

+ Recent posts