네트워크 인터페이스가 2개 이상일때 기본 라우터 변경하기
교내망에 있는 서버 하나가 접근이 꼬여서 원인을 찾다가 기록함.
우선 서버들의 네트워크 구성
메인서버 - Windows Server 2012 R2 - 교내망(10.x.x.5), 가상 스위치(192.168.137.1, host)
서버 A - Ubuntu 14.04 - 교내망(10.x.x.6), 가상 스위치(192.168.137.6), 도커
서버 B - Ubuntu 14.04 - 교내망(10.x.x.7), 가상 스위치(192.168.137.7)
서버 C - CentOS - 가상 스위치(192.168.137.2)
교내 다른 장비에서 메인서버, 서버 B 로는 교내망 주소로 바로 접근이 되는데,
서버 A 는 교내망 주소를 사용해도 서버 B 를 거쳐야만 접속이 되었다.
똑같은 교내망 IP 인데 말이지..
원인을 찾아보다가 서버 A의 outbound ip 가 메인서버의 ip 로 찍히는 것을 발견,
기본 라우터 설정을 바꿔주면 왠지 해결될 것 같은 느낌이 왔다.
서버 A:~$ ip route list
default via 192.168.137.1 dev eth1
10.x.x.0/23 dev eth0 proto kernel scope link src 10.x.x.6
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1
192.168.137.0/24 dev eth1 proto kernel scope link src 192.168.137.6
서버 B:~$ ip route list
default via 10.x.x.1 dev eth0
10.x.x.0/23 dev eth0 proto kernel scope link src 10.x.x.7
192.168.137.0/24 dev eth1 proto kernel scope link src 192.168.137.7
이유는 모르겠지만 서버 A의 기본 라우터가 eth1 로 되어있다. 바꿔주자.
서버 A:~$ sudo ip route change to default dev eth0 via 10.x.x.1
서버 A:~$ ip route list
default via 10.x.x.1 dev eth0
10.x.x.0/23 dev eth0 proto kernel scope link src 10.x.x.6
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1
192.168.137.0/24 dev eth1 proto kernel scope link src 192.168.137.6
via 뒤의 아이피는 eth0 의 gateway 주소를 적어주면 된다.
이후 ssh 접속이 잘됨을 확인.
재부팅해도 유지된다.
왜 바뀌었는지 모르니 다음에 또 바뀔 가능성이 있을 수 있지만.... 일단 해결!