Linux/설정

고정IP 환경 만들기(Linux에서)

매우파랑 2023. 7. 11. 23:04
728x90

★★ 정말 왕초보가 만든 내용이니 심도 깊은 학습을 원하시면 죄송합니다.ㅠㅠ★★

 

 

VMware에서 Linux 연습하면서 고정 IP 환경이 아쉬울 때가 있습니다.

보통 공유기 이용해서 만들 수 있는데, 혼자 사용하는 것이 아니라면

추가로 구매해야 하는 번거로움을 느낄 수 있습니다.

그래서 공부할 겸 Linux 추가 설치로 고정 IP 만들 수 있는 환경을 구축해 보겠습니다.

 

 

[환경설정]

1. rhel8.6에 VMware 16에서 만들었습니다.

※ CentOS 또는 Oracle Linux 등 레드햇 계열이면 따라하는데 문제없을 것 같습니다.

OS설치는 2개를 진행하고 하나는 NAT구성, 다른 하나는 고정 IP 테스트를 할 예정입니다.

 

2. 방화벽은 전부 해제한 상태입니다.(Ubuntu는 ufw 해제하시면 됩니다.)

systemctl disalble firewalld

systemctl stop firewalld

vi /etc/selinux/config 내용에 SELINUX=enforcing를 SELINUX=disabled로 수정

※또는 주석처리하고 내용 추가하셔도 됩니다.

 

3. Linux 환경 1 (hostname : rhel86_router)

VMware 초기 세팅에서 Network Adapter를 2개 사용할 예정입니다.

Network Adapter : NAT                             // 외부 인터넷 환경

Network Adapter 2 : Bridger(Automatic)  // 다른 Linux와 소통할 환경

※ Network Adapter 4개 세팅되어 있는데 이건 개인 취향입니다. 2개만 하셔도 됩니다.

rhel86_router VMware 설정

 

4. Linux 환경 2 (hostname : rhel86_1)

VMware 초기 세팅에서 Network Adapter를 1개 사용할 예정입니다.

Network Adapter : Bridger(Automatic)

※ Network Adapter 4개 세팅되어 있는데 여기도 개인 취향입니다. 1개만 하셔도 됩니다.

rhel86_1 VMware 설정

 

 

Linux 1 설정 [hostname : rhel86_router]

1. 네트워크 환경 확인

위 내용과 동일하게 환경설정을 하시면 아래 그림과 같이 네트워크 환경을 볼 수 있습니다.

그중 하나는 VMware에서 NAT 환경으로 설정하여 외부 인터넷이 가능한 상태입니다.

※ OS 환경에 따라 네트워크 이름이 "ens160 " "ens192"가 아니고 다른 이름일 수 있습니다.

rhel86_router 네트워크 환경

 

2. IP FORWARDING 설정

아래 명령어로 설정 및 내용 추가를 합니다.

# echo 1 > /proc/sys/net/ipv4/ip_forward

# vi /etc/sysctl.conf  에서 net.ipv4.ip_forward=1 값을 저장

※ /etc/sysctl.conf에 내용 추가를 안 하면 재부팅 후에 설정이 해제됩니다.

vi /proc/sys/net/ipv4/ip_forward 설정 추가

 

3. 네트워크 환경 설정(ens192)

위 1번 내용의 네트워크 환경확인에서 "ens160" 환경의 IP를 "ens192" 환경의 gateway로 설정하겠습니다.

여기 환경에서 "ens160" IP는 "192.168.158.128"이고 보면서 연습하시는 분들은 본인 IP로 하세요.

 

"ens192" 설정파일을 찾아서 아래 그림처럼 수정하겠습니다.

※ DNS1, DNS2 설정은 개인 취향입니다. 하나만 하셔도 되고 KT DNS 등 다른 주소 하셔도 됩니다.

/etc/sysconfig/network-scripts/ifcfg-ens192 설정

설정이 완료되면 내용을 반영해야 하므로

systemctl status NetworkManager 확인되면 systemctl restart NetworkManager

systemctl status network 확인되면 systemctl restart network

등.... 네트워크 환경 재시작은 따로 검색 부탁드립니다.

 

아래 그림은 네트워크 환경이 정상적으로 반영되었을 때 내용입니다.

네트워크 환경 확인

 

4. IPTABLES 설정

일단 설명 잘라먹고 아래 세팅 들어갑니다.

※ 대소문자와 띄어쓰기 구분하시고, "ens160", "ens192"는 본인 환경에 맞춰서 입력하세요.

★그리고 IPTABLES 설정은 저장 없이 재부팅하면 날아갑니다. ㅠㅠ

 

iptables -A FORWARD -o ens160 -j ACCEPT
iptables -A FORWARD -o ens192 -j ACCEPT

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

iptables -nL

iptables -t nat -L

iptables 설정

이제 준비는 끝났고, 현재 Linux 구동 상태에서 테스트할 Linux를 하나 더 구동하여 설정을 마무리하겠습니다.

 

 

Linux 2 설정 [hostname : rhel86_1]

1. 네트워크 환경 설정

여기서는 "ens160"에 아래 그림과 같이 설정하였습니다.

IP : 192.168.100.200                       // 설정한 게이트웨이의 192.198.100.xxx 대역 IP 중 하나

NETMASK : 255.255.255.0

GATEWAY : 192.168.100.100         //rhel86_router Linux의 "ens192"의 IP

※ 해당 네트워크 파일 수정 후 네트워크 환경 재시작으로 내용 적용 필요합니다.

 

rhel86_1 네트워크 설정

 

2. 네트워크 테스트

네트워크 환경 설정에 문제가 없으면, 외부 인터넷이 가능하고, 확인을 위해 KT DNS에 ping 테스트를 해보겠습니다.

KT DNS에 ping 테스트

 

 

마무리

요래 설정 하시면 VMware에서 Linux 하나 띄어 놓고 다른 Linux 네트워크 환경에서 고정 IP 설정하시면 됩니다.

또는 다른 gateway 환경 2개 구동해서  새로운 Linux에 bond0, bond1 만들고 bonding 연습하시는 방법도 추천합니다.

 

여기서는 Linux 왕초보인데 환경 구축 실습이 필요한 분들을 위해 만들어봤습니다.

 

IPTABLES 설명을 생략한 이유는 기능부터 SNAT, DNAT 등등 설명을 해야 하는데,

어설프게 설명하는 것보다는 IPTABLES 만 따로 검색해서 공부하시는 것을 추천합니다.

 

 

728x90