ntp request 보내기 질문 입니다.
어떻게 설명하는 것이 좋을지 몰라서, 생각나는 대로 일단 적어보겠습니다. ^^
제 System은 두 개의 interface가 있습니다.
eth0,eth1인데요..
eth0는 192.168.0.64이고, eth1은 10.20.16.64입니다.
default gateway는 192.168.0.1 입니다.
routing table은 아래와 같습니다.
Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 10.20.16.0 0.0.0.0 255.255.240.0 U 0 0 0 eth1 0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
이런 경우에 ntp는 default로 eth0를 사용해서 ntp request를 보내려고 하는 것 같습니다.
하지만, eth1을 사용해서 ntp request를 보내보려고 합니다.
ntp daemon을 약간 고쳐서, 이제는 ntp daemon인 ntp request를 eth1으로 보내긴 합니다.
ntp request를 보내는 destination은 0.fedora.pool.ntp.org, 1.fedora.pool.ntp.org, 2.fedora.pool.ntp.org
와 같은 곳들입니다.
하지만 위와 같은 routing configuration에서는 이러한 ntp server로 request를 보낸다해도 response를
받을 수 없는 것 같습니다.
마찬가지로 위의 ntp server들로 ping을 해보아도 역시 response를 받지 못합니다.
그래서,,아래 처럼 routing table을 고치고 나면 74.207.249.60으로 ping을 보낼 수 있습니다.
Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 74.207.249.60 10.20.16.64 255.255.255.255 UGH 0 0 0 eth1 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 10.20.16.0 0.0.0.0 255.255.240.0 U 0 0 0 eth1 0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
여기서 74.207.249.60은 nslookup 0.fedora.pool.ntp.org의 결과로 얻어진 ip address들 중 하나입니다.
이러한 수작업을 거치면, eth1으로 ntp request를 보낼 수도 있고, response를 받을 수도 있는 것 같습니다.
이제 이것을 c program으로 처리를 하려고 하는데요..
이를 위해서 몇가지 작업을 해야 할 것 같습니다.
1) 일단은 nslookup과 같은 URL을 ip address로 바꾸는 작업과,
2) 실제 그 얻어진 IP address가 reachable한지를 ping을 써서 확인하는 작업과
3) 그 ip address가 사용가능하다고 판단되면, routing table에 insert하는 작업.
정도 일것 같습니다.
2), 3)은 전에도 해본적이 있어서 알 것 같은데, 1) 번의 경우는 어떻게 하는 것이 좋은지
잘 몰라서 조언을 부탁드립니다.
nslookup source를 아직 들여다 본 것은 아니지만, 많이 복잡하려는지, 어떻게 하는 것이 좋을지
혹시 조언을 얻을 수 없을까해서 글을 올렸습니다.
또한 지금 제가 하려는 목적에, 이렇게 접근하는 것이 제일 좋은 방법인지,,
또는 다른 좋은 방법이 있는데, 제가 몰라서 이렇게 하고 있는 것은 아닌지도 궁금합니다.
조언 주시면 감사하겠습니다.
위와 같이 하시려는
위와 같이 하시려는 목적이 무엇인지요?
1. eth0를 통해서 ntp response를 받으면 안되는 건가요?
2. 아니면 eth0를 통해서 ntp response를 받지 못하기 때문에 eth1으로 보내려는 건지요?
위 경우는 굳이 프로그램을 만들기 보다는 "static routing" 을 등록해서 관리하는게 좋다고 판단됩니다.
eth1으로 해야하는 건 일종의 과제네요 ~
제가 결정한 것도 아니고, 그렇게 하라고 누가 시켜서 하는 것이고요 ^^
ntp가 동작할 때만 routing entry를 생성하고 ntp를 사용하지 않을 때는
routing entry를 삭제하려고 하거든요.
사용하지 않으면서 넣어놓는 건 하고 싶지 않아서요.
그래서 생각 중입니다.
답변 감사합니다.
댓글 달기