Categories
Computer Network

우분투 22.04 서버에서 고정 IP 주소 기반으로 네트워크 구성하기

우분투 22.04 서버에서 고정 IP 주소 기반으로 네트워크를 구성하는 방법을 알아보자.

1. 네트워크 구성 파일 열기

편집기로 /etc/netplan/00-installer-config.yaml 파일을 연다.

sudo vi /etc/netplan/00-installer-config.yaml

2. 네트워크 구성 파일 편집

파일을 아래와 같이 수정한다.

# This is the network config written by 'subiquity'
network:
  ethernets:
    ens33:
      dhcp4: false
      addresses: [192.168.0.15/24]
      gateway4: 192.168.0.1
      nameservers:
        addresses: [8.8.8.8,8.8.4.4]
  version: 2

이 내용 중에서 구체적인 값들은 독자의 네트워크 환경에 맞게 수정되어야 한다.

파일을 저장하고 편집기를 닫는다.

3. 변경 내용 적용하기

앞에서 수정한 내용을 시스템에 적용한다.

sudo netplan apply

IP 명령으로 적용 결과를 확인해 보자.

ip addr show

Categories
Computer Network

FTP 클라이언트에서 ls, get, put 등 명령이 실행되지 않는 문제 해결 방법

1. 문제의 원인

FTP 클라이언트에서 cd, pwd 등의 명령은 실행이 되는데 ls, get, put 등은 실행되지 않을 때가 있다.

FTP 연결 모드가 액티브 (active) 모드로 되어 있는 것이 문제의 원인이다.

2. 문제 해결 방법

quote 명령으로 FTP 연결 모드를 패시브 (passive) 모드로 바꾼다.

ftp> quote pasv
227 Entering Passive Mode (22*,26,13*,4,19*,12*)

quote 명령은 부명령 (sub-command) 을 FTP 서버로 보내는 역할을 한다.

‘quote pasv’ 에서 부명령은 pasv 이다.

패시브 모드로 변경하면 FTP 접속이 끊길 때까지 상태가 유지된다.

Categories
Computer Network

우분투 20.04에서 호스트네임 변경하기

1. 호스트네임 확인하기

hostname 명령으로 호스트네임을 확인한다.

hostname

이 명령은 호스트네임만 출력한다. 커널, 아키텍처 등 부가적인 정보를 확인할 때는 hostnamectl 명령을 사용한다.

hostnamectl

2. 임시로 호스트네임 변경하기

호스트네임을 임시로 변경해 보자.

hostname xtmci.com

위 명령은 호스트네임을 xtmci.com 으로 변경한다. 임시로 변경한 것이므로 시스템을 재시작하면 이전 호스트네임으로 돌아간다.

3. 유지되는 호스트네임으로 변경하기

변경한 호스트네임이 시스템 부팅 후에도 유지되도록 해 보자.

/etc/hostname 파일을 연다.

sudo vi /etc/hostname

이 파일에는 현재 호스트네임이 기록되어 있다.

oldname.com

이것을 원하는 호스트네임으로 변경한다.

xtmci.com

파일을 저장하고 편집기를 닫는다.

시스템을 재부팅한다.

sudo shutdown -r 0

4. 재부팅 없이 호스트네임 변경하기

시스템을 재부팅하지 않고 계속 유지되는 호스트네임으로 변경하는 방법도 있다. hostnamectl 명령을 사용하면 된다.

hostnamectl set-hostname xtmci.com

위 명령은 호스트네임을 xtmci.com 으로 변경한다. 해당 호스트네임은 시스템을 재부팅해도 계속 유지된다.

Categories
Computer Network

우분투 서버 20.04를 활용한 유선 공유기 만들기

랜카드가 3개 장착된 우분투 서버를 유선 공유기로 만드는 방법을 알아보자.

1. 네크워크 인터페이스 구성

네크워크 구성 파일을 연다.

sudo vi /etc/netplan/00-installer-config.yaml

파일에 아래와 같은 내용을 입력한다.

network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:    # 첫번째 랜카드. 인터넷에 직접 연결된다.
      dhcp4: true
    enp4s0:    # 두번째 랜카드.
      dhcp4: false
      addresses:
      - 192.168.0.1/24
    enp5s0:    # 세번째 랜카드.
      dhcp4: false
      addresses:
      - 192.168.1.1/24

enp3s0, enp4s0, enp5s0 등의 네트워크 인터페이스 이름은 네크워크 환경에 따라 다를 수 있다.

파일을 저장하고 편집기를 닫는다.

구성 내용을 시스템에 적용한다.

sudo netplan apply

2. DHCP 서버의 설치와 구성

DHCP 서버 패키지를 설치한다.

sudo apt install isc-dhcp-server

시스템에 네트워크 인터페이스가 2개 이상이므로 바인딩이 필요하다. /etc/default/isc-dhcp-server 파일을 연다.

sudo vi /etc/default/isc-dhcp-server

아래와 같은 내용으로 작성한다.

INTERFACESv4="enp4s0 enp5s0"    # 두번째와 세번째 랜카드.
INTERFACESv6=""

DHCP 서버의 메인 구성 파일을 연다.

sudo vi /etc/dhcp/dhcpd.conf

아래와 같은 내용을 입력한다.

default-lease-time 600;    # IP 주소 임대 시간 (초).
max-lease-time 7200;    # IP 주소 임대 시간의 최대값.
option domain-name-servers 8.8.8.8, 8.8.4.4;    # DNS 서버 주소.

subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.201 192.168.0.220;    # 임대할 IP 주소의 범위.
  option routers 192.168.0.1;    # 게이트웨이 주소. 두번째 랜카드의 IP 주소이다.
}

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.201 192.168.1.220;    # 임대할 IP 주소의 범위.
  option routers 192.168.1.1;    # 게이트웨이 주소. 세번째 랜카드의 IP 주소이다.
}

파일을 저장하고 편집기를 닫는다.

DHCP 서버를 재시작한다.

sudo systemctl restart isc-dhcp-server

3. 인터넷 연결 공유 구성

인터넷 연결 공유를 위한 1단계 작업은 IP 포워딩 활성화이다.

시스템에서 IP 포워딩이 가능하도록 한다.

sudo sysctl -w net.ipv4.ip_forward=1

2단계 작업은 iptables 명령으로 FILTER 테이블과 NAT 테이블을 구성하는 것이다.

FILTER 테이블의 모든 체인을 초기화한다.

sudo iptables -F

NAT 테이블의 모든 체인을 초기화한다.

sudo iptables -t nat -F

NAT 테이블에 IP 매스커레이딩을 적용한다.

iptables -t nat -A POSTROUTING -o enp3s0 -j MASQUERADE

여기서 enp3s0 은 인터넷에 직접 연결된 랜카드의 이름이다.

4. 테스트

우분투 서버를 활용한 유선 공유기가 완성되었다.

다른 PC 나 노트북의 랜 포트를 우분투 서버의 랜 포트와 연결한다. 각각의 PC 와 노트북은 DHCP 서버를 통해 자동으로 IP 주소를 할당받도록 구성되어야 한다. 각각의 장치들에서 인터넷 연결이 가능한지 확인해 보자.