Redhet 운영체제와 거의 유사하게 만들어지고 있는
CentOS에서 VLAN을 설정하는 방법입니다.
1. VLAN을 설정할 서버로 직접 접속합니다.
2. 네트워크 인터페이스를 설정할 수 있는 경로로 이동합니다.
bash |
# cd /etc/sysconfig/network-scripts/ # ls |
3. vi 편집기를 통하여 ifcfg-eth0 파일을 편집
※ 각 서버별로 존재하는 네트워크 인터페이스에 따라
ifcfg-eth0 ~ X의 파일의 개수가 다를 수 있습니다.
4. ifcfg-eth0 파일의 내용을 아래와 같이 수정
-> (insert키나 i키를 누른 후 해당 값처럼 수정)
bash |
DEVICE=eth0 <- 파일 이름에 존재하는 인터페이스 명을 적어줌 (ifcfg-eth0) ONBOOT=yes <- 서버 부팅 시 인터페이스를 자동으로 활성화할 것인지에 대한 옵션 TYPE=Ethernet BOOTPROTO=static <- IP설정을 직접 할 것인지 자동으로 할 것인지에 대한 옵션(이 경우 수동이며, none도 같은 옵션) #IPADDR=X.X.X.X #NETMASK=X.X.X.X #GATEWAY=X.X.X.X VLAN=yes <- (VLAN 사용 여부 옵션) |
IP, NETMASK, GATEWAY가 존재하면 #으로 주석처리
다른 값들은 무시 가능
(작성을 마친 후 esc키를 누른 후 :wq!를 사용하여 파일을 저장)
5. ifcfg-eth0 파일을 ifcfg-eth0.100으로 복사
bash |
# cp ifcfg-eth0 ifcfg-eth0.100 |
6. VLAN 네트워크 인터페이스 파일인 eth0.100을 수정
(VLAN ID에 따라 파일명도 해당 ID로 설정)
bash |
DEVICE=eth0.100 ONBOOT=yes BOOTPROTO=static IPADDR=10.10.10.10 -> 설정할 IP NETMASK=255.255.255.0 -> 설정할 서브넷 GATEWAY=10.10.10.254 -> 통신할 게이트웨이 주소 VLAN=yes |
(작성을 마친 후 esc키를 누른 후 :wq! 를 사용하여 파일을 저장)
7. Vlan ID를 추가
bash |
# vconfig add eth0 100 |
※ 100은 위에서 설정한 인터페이스 ID
-----------------------------Cent OS 5의 경우 7번까지만 진행-----------------------
8. ip rule을 사용하기 위해 vlan ID를 등록
bash |
# cd /etc/iproute2 # vi rt_tables |
9. rt_tables 값 수정
맨 아래에 값을 추가 (insert나 i를 사용하여 값 입력)
110 eth0.110
110(원하는 값을 지정, 필자는 110부터 10 단위로 올리면서 사용)
eth0.100(위에서 만들었던 인터페이스의 이름)
(작성을 마친 후 esc키를 누른 후 :wq! 를 사용하여 파일을 저장)
10. VLAN 네트워크 어댑터를 활성화
방법 1 -> service network restart
방법 2 -> ifup eth0.100
11. 정상적인 인터페이스 값과 ip가 올라왔는지 확인
bash |
# ifconfig |
12. 라우팅 테이블 추가
위와 같이만 설정해두면 CentOS 6 기준으로는 통신이 되지 않는다.
아래와 같이 입력하여 통신하도록 추가 설정해야 합니다.
bash |
# route add -net 10.10.10.0 netmask 255.255.255.0 gw 10.10.10.254 dev eth0.100 # ip ro add default via 10.10.10.254 dev eth0.100 table eth0.100 # ip rule add from 10.10.10.10 lookup eth0.100 pref 110 |
route add -net (ip대역) netmask (서브넷마스크) gw (게이트웨이) dev (인터페이스 이름)
ip ro add default via (게이트웨이) dev (인터페이스 이름) table (인터페이스 이름)
ip rule add from (내 IP 주소) lookup (인터페이스 이름) pref (rt_table에서 지정한 값)
위와 같이 설정 후 정상적으로 통신이 되는 것을 확인할 수 있다.
추가로 라우팅 테이블 명령어를 자동으로 입력하게 하는 방법이 있다.
bash |
# cd /etc/rc.d/ # vi iprule.sh |
위 명령어로 파일 생성
새로 만든 파일에 내용 추가
route add -net 10.10.10.0 netmask 255.255.255.0 gw 10.10.10.254 dev eth0.100
ip ro add default via 10.10.10.254 dev eth0.100 table eth0.100
ip rule add from 10.10.10.10 lookup eth0.100 pref 110
bash |
# chmod 755 iprule.sh # ll |
ll 명령어를 통해 권한이 아래와 같이 적용된 것을 확인한다.
bash |
# vi /etc/rc.d/rc.local |
rc.local 파일 내 맨 마지막 줄에 아래 내용을 추가해준다.
/etc/rc.d/iprule.sh
CentOS 7 이상부터는 네트워크 어뎁터 이름이
eth0, 1 형태로 만들어지지 않고
ens33, eno1 enp1s0 등으로 생성되는데
해당 이름을 eth0과 같은 부분에 그대로 넣어주면 CentOS 7 이상에서도 동일하게 설정할 수 있습니다.]
위 예시에서는 CentOS 6에서 Vlan을 설정하였습니다.
'Linux' 카테고리의 다른 글
CentOS 7, 8 에서 이중화 설정 방법 (pcs, pacemaker) (0) | 2021.06.29 |
---|---|
EOS된 CentOS 5,6 에서 yum 사용하기 (0) | 2021.06.09 |
CentOS 7에서 설정한 네트워크 어댑터가 활성화가 되지 않을 경우 (0) | 2021.05.20 |
[Linux] 리눅스 usb 마운트 시키는 방법 (0) | 2021.05.18 |
CentOS 6이하에서 VIP 이중화 설정하기 (heartbeat) (0) | 2021.05.18 |