LVS구성할 때 , ipvsadm 인지, iptables인지, ipvsadm + iptables 인지에 대한 질문입니다. ( NAT )

cococo의 이미지

안녕하세요.
제가 지금 LVS를 구축해 보려고 하는데 잘 안 되어서 질문을 올립니다.

배경을 설명드리면요,
1. TCP/IP통신을 하는 서버가 여러대 있고,
2. Session을 유지해야 하는데,
3. LVS를 구성하면 부하분산이 된다는 소리에
4. 인터넷 + 책으로 이것저것 뒤져봤습니다.

근데, 테스트 하려니 잘 안 되네요. -_-;;;;

일단, 테스트 환경 망 구성은

INTERNET
    |
    |
    |
    |
UBUNTU(LVS) 				WINDOWS2
공인아이피1(eth0) --------------+------ 공인아이피2
1.1.1.1   (eth1)		|	1.1.1.2  
	     			|
				|	WINDOWS3
				+------	공인아이피3
					1.1.1.3

이하와 같이 되어 있습니다.
원래는 WINDOWS는 사설망이라 공인아이피가 없어야 되지만, 테스트용이라 사내에서 업무용 일반 PC에 설치한거라, 고정아이피를 가지고 있습니다. ( 뭐... 엄밀히 말씀드리면 공인아이피란 것도 사설망이지만, 설명 편의상... ㅡ,.ㅡ;;)

테스트를 위한 최종 구상은,
1. 내부 네트웤의 아이피 1.1.1.2, 1.1.1.3 중 하나(일단 1.1.1.2라고 할까요?)에 TCP/IP 서버 프로그램을 띄워놓고( 테스트용으로 echo 서버라고 생각하시면 됩니다. )
2. 외부 인터넷에서 client프로그램이, 서버주소를 공인아이피로 지정한 다음 패킷을 쏩니다.
3. 그럼, 사설아이피인 1.1.1.2에서 connection되고, echo를 반송해 주면
4. 외부 인터넷의 client프로그램이 에코를 받을 거라 생각했구요.

이를 위해 LVS쪽에

11. ipvsadm "만" 설정 해 보구요. ( NAT 모드 ; 실패 : connection이 성공했다가 바로 끊어짐 )
12. iptables "만" 설정해 보구요. ( NAT 모드(SNAT/DNAT설정) ; 실패 : connection이 성공했다가 바로 끊어짐 )
13. ipvsadm + ipvsadm 을 설정해 보았습니다. ( 둘 다 NAT모드 ; 실패 : connection이 성공했다가 바로 끊어짐)
14. 그래서...이상하다 생각하고 있었는데 ( 인터넷 자료가 넘 좋은게 많아서, 설정값 등은 인터넷 자료 보고 했습니다. )
윈도우쪽 담당자가 "이거 수상한데?? " 하더니 자기 PC( Windows2 )의 공인IP가 연결되어 있는 랜카드의 랜선을 뽑아버렸습니다.

그리고 테스트 하니깐..... 되네요. -_-;;;

질문입니다!!!

21. LVS를 설정하려면, 11. , 12. , 13. 중 어느 방법으로 해야 할까요? 혹은 세 방법 전부 가능한가요??
22. 14.의 [ 공인아이피 랜선 뽑으니까 되는 현상 ] 은 왜 그런 걸까요??

인터넷 검색해 보면 그다지 실패 사례가 없고,
대부분의 실패사례는 웹호스팅이나 웹서비스를 돌릴 때고,
NAT방식( SNAT + DNAT )은 대부분 문제가 발생하지 않더라구요.

혹시 제가 개념을 잘 못 잡고 있는 걸까요? 저는 지금 어딜 찔러봐야 할 지 감을 잡지 못하고 있습니다.

의견 있으신 분이나 비슷한 현상을 겪으셨던 분들은, 답변 부탁드립니다.

이상입니다. 좋은 하루 되시기 바랍니다.

visualplus의 이미지

WINDOWS2에 랜카드가 2개 달려있고, 하나는 UBUNTU(LVS)에, 다른 하나는 공유기나 허브정도에 달려있는..
이런 환경이 맞는건가요?

혹시 WINDOWS2의 라우팅테이블 확인 해 보셨나요?
디폴트라우팅이 공인ip쪽으로 셋팅되어있었다면 문제가 될 것 같네요.

cococo의 이미지

visualplus 님 답변 감사드립니다.

Routing Table / GateWay 쪽으로 뒤져보려 하고 있습니다.

좋은 하루 되시기 바랍니다.

-----------------------------------------
행복은 희생없이는 얻을 수 없는 것인가?
시대는 불행없이는 넘을 수 없는 것인가?

댓글 달기

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