ntp request 보내기 질문 입니다.

hyper9의 이미지


어떻게 설명하는 것이 좋을지 몰라서, 생각나는 대로 일단 적어보겠습니다. ^^
제 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를 아직 들여다 본 것은 아니지만, 많이 복잡하려는지, 어떻게 하는 것이 좋을지
혹시 조언을 얻을 수 없을까해서 글을 올렸습니다.

또한 지금 제가 하려는 목적에, 이렇게 접근하는 것이 제일 좋은 방법인지,,
또는 다른 좋은 방법이 있는데, 제가 몰라서 이렇게 하고 있는 것은 아닌지도 궁금합니다.

조언 주시면 감사하겠습니다.

kimjh9978의 이미지

위와 같이 하시려는 목적이 무엇인지요?
1. eth0를 통해서 ntp response를 받으면 안되는 건가요?
2. 아니면 eth0를 통해서 ntp response를 받지 못하기 때문에 eth1으로 보내려는 건지요?

위 경우는 굳이 프로그램을 만들기 보다는 "static routing" 을 등록해서 관리하는게 좋다고 판단됩니다.

hyper9의 이미지

제가 결정한 것도 아니고, 그렇게 하라고 누가 시켜서 하는 것이고요 ^^

ntp가 동작할 때만 routing entry를 생성하고 ntp를 사용하지 않을 때는
routing entry를 삭제하려고 하거든요.

사용하지 않으면서 넣어놓는 건 하고 싶지 않아서요.
그래서 생각 중입니다.
답변 감사합니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.