티스토리 뷰
개인적으로 사용중인 서버는 두 개의 물리적 네트워크 인터페이스(랜카드가 2개라는 소리)가 존재합니다. 하나는 ISP 와 직접 연결되어 DHCP 로 공인IP(Real IP)를 받아서 사용하고, 다른 하나는 공유기를 통해 내부에서 빠르게 접근하기 위해 사설IP를 받아서 이용중입니다. 공유기의 DHCP 는 subnet 으로 255.255.255.0(/24)을 이용하긴 하지만, IP 발급은 101~250 정도로 일부 범위만 배정하고, Gateway 는 1번, 그 외에 서버급의 장비들은 IP 를 고정하기 위해 보통 10~99 번 사이에 Static으로 설정해서 사용하고 있습니다.
문제는 내부에서 가상머신을 이용할 때 브릿지 모드를 이용해 가상머신도 이렇게 두 개의 IP 을 발급 받습니다. 외부에서 직접 접근할 필요가 있는 장비들은 특히 이렇게 이용합니다. L7 소프트웨어를 통해서 연결하면 되는 것들은 공유기를 통해 연결되는 네트워크만 사용하면 되지만, 가상머신을 위한 하이퍼바이저 관리자 페이지나 L7 을 서비스중인 장비 등은 공인IP을 발급받아 사용하는게 편하기 때문입니다.
이렇게 두 개의 다른 DHCP 를 받은 네트워크 인터페이스가 있는 OS 에서는 default gateway 가 두 개 생성됩니다. 리눅스에서 ip route 명령으로 확인 가능합니다. 장치 이름은 OS 에 따라 다를 수 있지만, 많이 이용되는 eth0, eth1 으로 된다고 가정했을 때, 둘 중 공유기를 통해 연결되는 장치의 default gateway 설정을 없애주지 않으면 외부 접속에 문제가 발생할 수 있습니다. Linux 배포판이나 OS 버전에 따라 달라질 수 있지만, 최신 배포판에선 거의 ip 명령으로 관리하고 ip route 로 라우팅 정보를 확인할 수 있다면 특정 gateway 을 명령으로 제거할 수 있습니다. 저의 경우 공유기를 통해 접속되는 네트워크 인터페이스를 보통 eth0 로 하기 때문에 아래와 같이 제거할 수 있습니다.
ip route del default dev eth0
장치(dev)의 이름이 eth0 인 default route(gateway)을 지우라는 명령입니다. 이후 다시 ip route 명령을 실행하면 삭제된 것을 확인할 수 있습니다.
이후 OS 별로 다른 방식으로 네트워크 인터페이스가 실행될 때 저 명령을 실행하거나 route 에 등록하지 않도록 하는 방법이 있습니다. 하지만, 상황에 따라 설정 방법이 달라지기 때문에 가장 추천되는 방법은 crontab 을 이용해 부팅 시 실행되는 마지막 부분에 위 명령을 실행하게 하는 것입니다. crontab 에서 cron 스타일의 실행주기가 아닌 @reboot 로 시작하면 시작 시 실행하는 명령이 됩니다. 그러므로 아래와 같이 crontab -e 명령을 실행한 뒤 추가하면 됩니다.
# crontab -e
@reboot ip route del default dev eth0
'Computer > OS' 카테고리의 다른 글
Proxmox 에 두 개의 랜카드(ethernet)를 이용하여 내외부 분리하기 (0) | 2022.09.12 |
---|---|
KDE 에서 디스플레이 전역 크기 조정을 했을 때 vlc 등의 플레이어에 문제가 발생하는 경우 해결 방법 (0) | 2020.02.19 |
듀얼 모니터 환경에서 KDE 로그인 화면이 원하지 않는 화면에 나오는 경우 해결 방법 (0) | 2020.02.12 |
grub rescue 로 grub 페이지 띄우기 (0) | 2020.02.11 |
Linux Mint 에서 Manjaro Gnome 으로, 다시 Manjaro KDE 로 OS 변경 (2) | 2020.02.11 |
- Total
- Today
- Yesterday
- couchbase
- 페이징
- java config
- RestTemplate
- paging
- 엘지
- docker
- Nas
- 프로젝트 규모
- boot
- jooq
- Spring Boot
- NoSQL
- 내장 WAS
- Phabricator
- 외장 WAS
- KDE
- SI
- 도입기
- proxmox
- git
- messages.properties
- manjaro
- 클라우드플레어
- Spring
- OracleJDK
- Spring MVC
- Redmine
- 워드프레스
- 시니어 프로그래머
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |