banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành *nix Xin gợi ý vấn đề DNS  XML
  [Question]   Xin gợi ý vấn đề DNS 21/04/2012 09:12:55 (+0700) | #1 | 261788
monday1010
Member

[Minus]    0    [Plus]
Joined: 13/12/2008 23:18:55
Messages: 33
Offline
[Profile] [PM]
Chào anh em,

Ai có từ khoá nào cho vấn đề sau giúp mình

Client --------------------------------Client's DNS Server
-----------request domain abc.com-->
<----------ip x.x.x.x------------------


Client---------------------x.x.x.x(WAN)--- Server1--192.168.1.0/24--Server2
------------request--------->Foward------>Foward------------------>Process

Vấn đề làm sao để : Khi client gửi dns request domain abc.com sẽ nhận được ip x.x.x.x, sau đó Client sẽ gửi request tới ip x.x.x.x (WAN), foward vào Server1, nhưng Server1 không xử lý request này mà sẽ trỏ sang Server2 thuộc cùng mạng local để xử lý request này của Client. Server1 và Server2 chạy CentOS

Mọi người cho mình hỏi: trên Server1 chỉ cần cài dns server có giải quyết được không, hay phải cài thêm Proxy server, ...vv Xin gợi ý giúp các từ khoá cho mỗi giải pháp luôn vì mình còn khá "gà" về phần này smilie hehe

Tks all.
[Up] [Print Copy]
  [Question]   Xin gợi ý vấn đề DNS 25/04/2012 14:11:11 (+0700) | #2 | 262045
[Avatar]
theClassicMan27
Member

[Minus]    0    [Plus]
Joined: 05/04/2012 05:08:07
Messages: 16
Offline
[Profile] [PM]
"DNS Forwarding" chăng?
[Up] [Print Copy]
  [Question]   Xin gợi ý vấn đề DNS 27/04/2012 12:55:33 (+0700) | #3 | 262114
monday1010
Member

[Minus]    0    [Plus]
Joined: 13/12/2008 23:18:55
Messages: 33
Offline
[Profile] [PM]
Không phải roài. Dns forwarding nói đến việc xử lý các dns request, vấn đề của mình là qua bước này roài

Ý mình muốn Client nó vẫn connect tới Server1, nhưng thực chất việc xử lý là do Server2

Tks
[Up] [Print Copy]
  [Question]   Xin gợi ý vấn đề DNS 27/04/2012 13:35:17 (+0700) | #4 | 262117
[Avatar]
tarzanvip
Member

[Minus]    0    [Plus]
Joined: 17/09/2004 16:54:06
Messages: 50
Offline
[Profile] [PM]
Bạn thử search: "DNS Cluster using LVS" xem
[Up] [Print Copy]
  [Question]   Xin gợi ý vấn đề DNS 05/05/2012 17:44:43 (+0700) | #5 | 262517
monday1010
Member

[Minus]    0    [Plus]
Joined: 13/12/2008 23:18:55
Messages: 33
Offline
[Profile] [PM]

tarzanvip wrote:
Bạn thử search: "DNS Cluster using LVS" xem 


Hehe mình search từ khoá bạn đưa mà không đúng ý mình ( hay mình sai smilie )

Ý cụ thể của mình là muốn cài dns server ( bind chẳng hạn ) trên chú Server 1 ( chạy centos ) làm sao để những request thuộc về domain abc.com sẽ trỏ sang cho chú Server 2 xử lý

Liệu có làm được vậy không ? Hic hic smilie
[Up] [Print Copy]
  [Question]   Xin gợi ý vấn đề DNS 06/05/2012 13:14:57 (+0700) | #6 | 262562
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

monday1010 wrote:

tarzanvip wrote:
Bạn thử search: "DNS Cluster using LVS" xem 


Hehe mình search từ khoá bạn đưa mà không đúng ý mình ( hay mình sai smilie )

Ý cụ thể của mình là muốn cài dns server ( bind chẳng hạn ) trên chú Server 1 ( chạy centos ) làm sao để những request thuộc về domain abc.com sẽ trỏ sang cho chú Server 2 xử lý

Liệu có làm được vậy không ? Hic hic smilie  


Những request có domain là abc.com hay "thuộc về domain abc.com"? Hai cái khác nhau rất xa.

Cái gì sẽ "trỏ" sang chú serrver 2 để xử lý?
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Xin gợi ý vấn đề DNS 06/05/2012 13:20:01 (+0700) | #7 | 262563
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]
Thử cái này chưa:

Code:
zone "abc.com" {
	type forward;
	forwarders { xxx.xxx.xxx.xxx; };
};


Trong đó, xxx.xxx.xxx.xxx là IP của "thằng" server 2.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Xin gợi ý vấn đề DNS 08/05/2012 10:00:08 (+0700) | #8 | 262707
monday1010
Member

[Minus]    0    [Plus]
Joined: 13/12/2008 23:18:55
Messages: 33
Offline
[Profile] [PM]

conmale wrote:

monday1010 wrote:

tarzanvip wrote:
Bạn thử search: "DNS Cluster using LVS" xem 


Hehe mình search từ khoá bạn đưa mà không đúng ý mình ( hay mình sai smilie )

Ý cụ thể của mình là muốn cài dns server ( bind chẳng hạn ) trên chú Server 1 ( chạy centos ) làm sao để những request thuộc về domain abc.com sẽ trỏ sang cho chú Server 2 xử lý

Liệu có làm được vậy không ? Hic hic smilie  


Những request có domain là abc.com hay "thuộc về domain abc.com"? Hai cái khác nhau rất xa.

Cái gì sẽ "trỏ" sang chú serrver 2 để xử lý? 


Hi Anh conmale,

Khác nhau có vài chữ mà xa vậy trời smilie Thực ra cái đầu của monday1010 hơi tối nên trình bày có lẽ đi một dặm mất roài hehe

Thực tình :

Có 2 domain abc.com và xyz.com đều được config trỏ về ip WAN là 1.2.3.4, Trên router (modem) WAN sẽ thực hiện NAT port 80 vào trong Server1

Như vậy khi có request tới domain abc.com và xyz.com trên port 80 sẽ được "vứt" hết vào chú Server1

Bây giờ monday1010 muốn "trị" chú Server1 này sao để với request tới domain xyz.com port 80 thì server1 này sẽ quăng "cục" request này tới Server2, của mày đó làm đi nha smilie

Vậy phải "trị" Server1 này ở đâu hả anh ? Trên Apache và dns server ?? smilie

Tks A
[Up] [Print Copy]
  [Question]   Xin gợi ý vấn đề DNS 08/05/2012 10:21:23 (+0700) | #9 | 262711
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

monday1010 wrote:

conmale wrote:

monday1010 wrote:

tarzanvip wrote:
Bạn thử search: "DNS Cluster using LVS" xem 


Hehe mình search từ khoá bạn đưa mà không đúng ý mình ( hay mình sai smilie )

Ý cụ thể của mình là muốn cài dns server ( bind chẳng hạn ) trên chú Server 1 ( chạy centos ) làm sao để những request thuộc về domain abc.com sẽ trỏ sang cho chú Server 2 xử lý

Liệu có làm được vậy không ? Hic hic smilie  


Những request có domain là abc.com hay "thuộc về domain abc.com"? Hai cái khác nhau rất xa.

Cái gì sẽ "trỏ" sang chú serrver 2 để xử lý? 


Hi Anh conmale,

Khác nhau có vài chữ mà xa vậy trời smilie Thực ra cái đầu của monday1010 hơi tối nên trình bày có lẽ đi một dặm mất roài hehe

Thực tình :

Có 2 domain abc.com và xyz.com đều được config trỏ về ip WAN là 1.2.3.4, Trên router (modem) WAN sẽ thực hiện NAT port 80 vào trong Server1

Như vậy khi có request tới domain abc.com và xyz.com trên port 80 sẽ được "vứt" hết vào chú Server1

Bây giờ monday1010 muốn "trị" chú Server1 này sao để với request tới domain xyz.com port 80 thì server1 này sẽ quăng "cục" request này tới Server2, của mày đó làm đi nha smilie

Vậy phải "trị" Server1 này ở đâu hả anh ? Trên Apache và dns server ?? smilie

Tks A 


Xem bài #7 ở trên.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Xin gợi ý vấn đề DNS 03/07/2012 21:48:17 (+0700) | #10 | 266041
monday1010
Member

[Minus]    0    [Plus]
Joined: 13/12/2008 23:18:55
Messages: 33
Offline
[Profile] [PM]
Lâu rồi lục lại cái này smilie

Tìm được đoạn code bằng python cho mục đích này của mình :

Code:
import sys, socket, time, threading
LOGGING = True
loglock = threading.Lock( )
def log(s, *a):
    if LOGGING:
        loglock.acquire( )
        try:
            print '%s:%s' % (time.ctime( ), (s % a))
            sys.stdout.flush( )
        finally:
            loglock.release( )
class PipeThread(threading.Thread):
    pipes = [  ]
    pipeslock = threading.Lock( )
    def _ _init_ _(self, source, sink):
        Thread._ _init_ _(self)
        self.source = source
        self.sink = sink
        log('Creating new pipe thread %s ( %s -> %s )',
             self, source.getpeername( ), sink.getpeername( ))
        self.pipeslock.acquire( )
        try: self.pipes.append(self)
        finally: self.pipeslock.release( )
        self.pipeslock.acquire( )
        try: pipes_now = len(self.pipes)
        finally: self.pipeslock.release( )
        log('%s pipes now active', pipes_now)
    def run(self):
        while True:
            try:
                data = self.source.recv(1024)
                if not data: break
                self.sink.send(data)
            except:
                break
        log('%s terminating', self)
        self.pipeslock.acquire( )
        try: self.pipes.remove(self)
        finally: self.pipeslock.release( )
        self.pipeslock.acquire( )
        try: pipes_left = len(self.pipes)
        finally: self.pipeslock.release( )
        log('%s pipes still active', pipes_left)
class Pinhole(threading.Thread):
    def _ _init_ _(self, port, newhost, newport):
        Thread._ _init_ _(self)
        log('Redirecting: localhost:%s -> %s:%s', port, newhost, newport)
        self.newhost = newhost
        self.newport = newport
        self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        self.sock.bind(('', port))
        self.sock.listen(5)
    def run(self):
        while True:
            newsock, address = self.sock.accept( )
            log('Creating new session for %s:%s', *address)
            fwd = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            fwd.connect((self.newhost, self.newport))
            PipeThread(newsock, fwd).start( )
            PipeThread(fwd, newsock).start( )

if _ _name_ _ == '_ _main_ _':
    print 'Starting Pinhole port forwarder/wwwector'
    import sys
    # get the arguments, give help in case of errors
    try:
        port = int(sys.argv[1])
        newhost = sys.argv[2]
        try: newport = int(sys.argv[3])
        except IndexError: newport = port
    except (ValueError, IndexError):
        print 'Usage: %s port newhost [newport]' % sys.argv[0]
        sys.exit(1)
    # start operations
    sys.stdout = open('pinhole.log', 'w')
    Pinhole(port, newhost, newport).start( )


Đặt tên script này là pinhole.py trên server1 và chạy nó :

Code:
# python pinhole.py 80 server2


Như vậy các request đến port 80 trên server1 sẽ được forward sang cho server2 xử lý.
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|