데비안 리눅스의 Interface 설정 경로 : /etc/network/interfaces
만약, 아래를 진행하기 전에 위 경로에서 interface 어댑터 두 대(enp0s3 / enp0s8)를 vi를 이용하여 interfaces 파일 내에 기입 및 수정했다면 모두 dd로 날린다.
그리고 아래 내용대로 천천히 수행한다.
외부로 ping (8.8.8.8) 안될 때,
NAT + HostOnly 어댑터 외부 통신 설정
테스트 환경: Virtual Machine
테스트 OS : Debian Linux 9
- VM의 네트워크 설정에서 NAT + HostOnly 어댑터을 설정하게 되면 OS(리눅스)에 붙게 되는 어댑터 인터페이스가 각각 하나씩 생기는데,
- NAT용 인터페이스가 enp0s3
- HostOnly용 인터페이스가 enp0s8 이다
- RHEL 계열 리눅스는 nmcli 커맨드로 인터페이스를 설정할 수 있게 따로 전용 커맨드를 만들어놨다.
- 아래 커맨드를 수행해서 네트워크 인터페이스에 IP를 부여한다.
1) 원래는 아래 다섯번의 커맨드로 가능하지만, 커널별로 다르게 수행될 수도 있다.
nmcli connection show
nmcli connection delete [interface 명] (모두 깔끔하게 지워준다)
// HostOnly 인터페이스에 STATIC IP 설정
Nmcli connection add type ethernet ifname enp0s8 con-name enp0s8_connection ipv4.method manual ipv4.address 192.168.1.xxx ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8, 8.8.4.4"
// NAT 인터페이스에 Dynamic IP 설정
Nmcli connection add type ethernet ifname enp0s3 con-name enp0s3_connection ipv4.method auto
2) Debian Linux에서는 아래와 같이 커맨드를 수행한다. (이미 인터페이스가 존재하기 때문에 ifname 으로 interface 생성을 하지 않는다)
// HostOnly 인터페이스에 STATIC IP 설정
Nmcli connection add type ethernet con-name enp0s8_connection ipv4.method manual ipv4.address 192.168.1.xxx ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8, 8.8.4.4"
// NAT 인터페이스에 Dynamic IP 설정
Nmcli connection add type ethernet con-name enp0s3_connection ipv4.method auto
위 커맨드를 수행하고, 아래와 같이 커맨드를 수행한다. (nmcli con show를 수행하였을 때, 목록이 없으면 그대로 두면 된다.)
$ Nmcli connection show // 어댑터에 연결된 인터페이스 목록
여기서 기존의 Wired connection 1 또는 2로 되어 있는 것은 지워도 좋다.
아래의 커맨드를 수행한다.
$ Nmcli connection delete Wire connection 1 또는 2
위 커맨드로 인터페이스 목록을 삭제 했다면 이제 다음 커맨드를 수행한다.
$ Nmcli connection up enp0s3_connection ifname enp0s3 // 각각의 어댑터에 인터페이스를 물려준다.
$ Nmcli connection up enp0s8_connection ifname enp0s8 // 각각의 어댑터에 인터페이스를 물려준다.
이 커맨드를 수행할 때, 만약 해당 인터페이스에 no-Carrier 관련 에러가 나온다면 다음과 같이 조치한다.
Vmware 또는 VMbox의 해당 OS의 설정에 들어간다.
NAT 및 HostOnly 어댑터를 각각 눌러서 고급 옵션 화살표를 눌러서 전체 화면을 보면, "케이블 연결됨" 이라는 표시가 있다. 이것을 클릭 한다. (어댑터 둘다 해준다)
그 후 위 커맨드를 다시 수행하면 잘될 것이다.
이렇게 진행하고나면 외부 통신 8.8.8.8도 가능하며, Host PC(개인 로컬PC를 뜻함)와의 ping 테스트도 가능해진다.
----여기서 부터는 SSH 접속에 대한 설명-----
Debian Linux으로의 ssh 접속을 위해서는 다른 리눅스 배포판과 달리 하나 더 설정해줘야하는 것이 있다.
Ufw 방화벽을 설정해준다음 ssh 트래픽을 허용해주어야한다.
기본적으로 OS 설치시에 방화벽 설정이 안되어있다.
아래와 같이 커맨드를 수행한다.
$ Sudo apt update
$ Sudo apt install ufw -y
$ Sudo systemctl enable ufw
$ Sudo systemctl start ufw
$ Sudo ufw status
$ Sudo ufw allow ssh
$ Sudo ufw enable
이렇게 수행 했으면 ssh 포트를 허용(오픈)한 것이다.
그리고 외부 서버로 ssh를 수행해보면 잘될 것이다.
하지만 여기서 또 문제가 있다. 외부서버에서 Debian Linux로 ssh를 통해 접속하는 것이 막힌다.
이것은 openssh-client가 기본적으로 설치되어있지만, openssh-server가 설치가 안되어있어서 일어나는 문제다.
다음 커맨드를 수행해서 openssh-server를 설치하자.
Sudo apt install openssh-server
수행 후에 다시 ssh 접속을 시도하면, 잘 접속되는 것을 확인할 수 있다.
'OS > Linux&Unix' 카테고리의 다른 글
[Linux/Unix] 모든 경로에서 서비스 실행시키기 (ex. PostgreSQL) (0) | 2024.07.19 |
---|---|
[Linux] VM에 CentOS 7.9 설치 (0) | 2024.07.19 |
[Debian Linux 11 Bullseye] Debian Linux iso 다운로드 링크 및 설치 (0) | 2024.07.01 |
[Linux] /, /bin, /lib, /boot, /dev, /etc, /proc (0) | 2024.03.21 |
[Linux] 하드웨어 정보 확인 (lspci, lshw, ldd) (0) | 2024.03.21 |