[완료] 네트웍 관련 질문

dopekly의 이미지

스위치
|
-------------------------------------------------------------------------------------------------
|

|

-------------------
-------------------

| eth1 eth2 eth0 | = 서버 A
| eth0 eth1 eth2 | = 서버 B

---+----+----------
---------+-----+---

| |
| |

서버A-1 서버A-2
서버B-1 서버B-2

요렇게 현재 네트웍을 구성해 놓고 공부 하고 있습니다. (스위치는 제 권한 밖입니다. 참고로)

각 eth0는 public ip 이구요

서버 A eth1, eth2는 서버 B eth1, eth2는
eth1 = 192.168.0.1 eth1 = 192.168.0.1
eth2 = 192.168.2.1 eth2 = 192.168.1.1

이렇게 해서 서버 A에는 masquerading 이구요 서버 B에는 하나는 DNAT (포트포워딩) 하나는 그냥 SNAT 입니다.
각 모든 서버는 도메인 이름이 있구요.

제가 궁금한 건 서버 A에서 서버 B-1으로 통신을 할려고 하면 되지를 않는데 이럴때는
어떻게 해줘야 A => B-1로 통신이 되나요?? (물론 그 반대로는 잘 됩니다.)

그리고 서버 A eth1 과 서버 B eth1의 네트웍 주소가 같은데
만약.. A의 피어들과 B의 피어들과 통신을 할려면 대역도 다르게 잡아야 하나요?? (당연한 질문?? --;;)

크헉.. 그림이 많이 이상하네요..

s3xus의 이미지

A-1, A-2 가 아닌 A 에서 B-1 로 접속하시려는 거죠?

그렇다면 경로를 생각해 볼때

A 의 eth0 (publc ip)
-> switch
-> B 의 eth0 (public ip)
-> B 의 eth1 (192.168.0.1)
-> B-1 의 eth0 (?.?.?.?)

로 전달이 될테니 각 단계를 체크해보면 어떨까요?

A 의 ip 는 public 이고
B-1 의 ip 는 192.168.0.x 일테니
서로 통신을 하려면 도중에서 NAT 처리를 해야 할것으로 보입니다.

dopekly의 이미지

네, 통신 경로는.

A eth0 (public) --> 스위치 -->
B eth0 (public) --> B eth1 (192.168.0.1) --> B-1 eth0 (192.168.0.2)

요렇게 인데.. A에서 NAT를 하라는 말씀인가요??
어떻게.. 무슨 NAT를 말씀하시는건지 말 모르겠습니다~ --;;

계속되는 2인자

s3xus의 이미지

A 입장에서 보자면 B-1 의 ip 는 다른 네트웍에 속해있기 때문에 A 의 gateway 에게 패킷을 보낼겁니다,

이때 문제가 A 의 gateway (위의 구성도에는 안나온거 같습니다) 가 해당 패킷을 받아서 B 의 eth0 에게 전달을 해주어야 하는데
우선 이 부분부터 체크를 해야겠죠.
그리고 B 까지 패킷이 간다면
B 의 eth0 -> B 의 eth1 로 패킷이 가도록 설정이 되어있는지도 확인해야 할거고요 (라우팅, iptable ...)

또 한가지 확인할것은
패킷이 가는길도 확인해야 하지만 돌아오는 길도 확인을 해야 합니다.
도착은 잘 했지만 돌아오는 길이 잘못되어 있을수도 있거든요.

NAT 를 얘기드린 이유는
구성을 보면 네트웍이 다 다릅니다. 그래서 계속 gateway 로 우선 패킷이 갈텐데
라우팅을 손댈수 없는 gateway 의 경우 (가령 kt 망등 isp 망) 가 있기 때문에
A 나 B 에서 NAT 로 처리를해서 gateway 로 가지않고 바로 A, B 로 가도록 NAT 설정을 해줘야 할 것으로 보이거든요.

dopekly의 이미지

우선 B 쪽의 머신에서는 B-1, B-2, 외부 및 A까지 아무 이상없이 잘 네트웍이 됩니다.
A의 gateway는 스위치로 되어있구요.

방금 A에서 B-1을 traceroute를 해봤는데, 대충 느낌이 오는 것 같습니다.

A -> 스위치 -> 라우터, 백본 -> 다른 네트웍 스위치 -> .......

바로 옆에 있는 B로는 가지를 않고 아예 패킷이 멀리 나가버리네요. --;;

그러면..

만약에 A와 B를 크로스 케이블로 연결해서 통신을 한다고 치면 잘 될까요??
A-1 eth1과 B-1 eth1의 네트웍이 같은 192.168.0. 대역인데요,
통신을 다 같이 시키자면 각각 붙어 있는 ethernet카드 대역을 다 다르게 잡아야 할까요??
그렇게 해야만 할 것으로 느낌으로만 알고 있습니다.)
(ex. A-1 192.168.0.0 A-2 192.168.1.0 B-1 192.168.3.0 B-2 192.168.4.0)

제가 요렇게 네트웍을 구성해 놓고 공부하는 중에 궁극적으로 궁금 했던것도 이것인데요.

linux box에서 nat를 구성하면 각 달린 ethernet카드 마다 게이트웨이를 따로 잡고 연결되는데,
스위치 같은경우 포트가 여러개 있어도 각 포트마다 ip를 할당하는 것이 아니라 그 스위치에 붙어 있는 클라이언트들이
스위치 아이피를 쓰면 되잖아요?? 위와 같은 구성의 경우에 스위치를 gateway로 쓸때.

linux에서도 스위치 같이 여러개 ethernet이라도 하나의 gateway만 쓸 수 있는 방법이 없을까요??

질문이 좀 아리까리 한데, 쉽게 얘기해서 "linux box를 switch처럼 하기~~" 정도??

계속되는 2인자

s3xus의 이미지

즉 서버 에 ethernet 카드가 여러개 꼽혀있고 각 카드에는 IP 가 지정되어 있지 않은 상태에서
서버 를 스위치처럼 쓰고싶으신 건가요?

서버 의 ethernet 카드에 여러 PC 를 연결해서 서버는 안보이고 단지 스위치처럼 패킷만 전달해주는 형태를 얘기하시는걸로 이해가 됩니다.

만약 그렇다면 bridge 쪽을 찾아보시면 도움이 될 것 같습니다.

--

A 와 B 의 통신간의 문제는 라우팅과 NAT 만으로 가능합니다.
아마도 제 생각에는
A 의 라우팅 룰을 수정해서 패킷을 B 로 보내도록 한다면 굳이 크로스로 연결하지 않아도 통신이 가능할겁니다.

dopekly의 이미지

bridge가 있었네요..

감사합니다.

계속되는 2인자

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.