>>>>> On Thu, 05 Oct 2006 16:28:59 -0400, Dan Langille said: > Priority: normal > Content-description: Mail message body > > On 5 Oct 2006 at 21:13, Martin Simmons wrote: > > > >>>>> On Thu, 05 Oct 2006 14:16:14 -0400, Dan Langille said: > > > Priority: normal > > > Content-description: Mail message body > > > > > > On 5 Oct 2006 at 19:10, Martin Simmons wrote: > > > > > > > >>>>> On Thu, 05 Oct 2006 12:52:44 -0400, Dan Langille said: > > > > > Priority: normal > > > > > Content-description: Mail message body > > > > > > > > > > On 5 Oct 2006 at 17:27, James Ray wrote: > > > > > > > > > > > Dan Langille wrote: > > > > > > > On 5 Oct 2006 at 16:42, James Ray wrote: > > > > > > > > > > > > > >> Dan Langille wrote: > > > > > > >>> On 5 Oct 2006 at 16:29, James Ray wrote: > > > > > > >>> > > > > > > >>>> Dan Langille wrote: > > > > > > >>>>> On 5 Oct 2006 at 15:36, James Ray wrote: > > > > > > >>>>> > > > > > > >>>>>> Dan Langille wrote: > > > > > > >>>>>>> On 5 Oct 2006 at 9:11, Bill Moran wrote: > > > > > > >>>>>>> > > > > > > >>>>>>>> I haven't had time to investigate whether the > > > > > > >>>>>>>> [FD|SD|DIR]Address sets > > > > > > >>>>>>>> both the listening and the outgoing address, but a > > > > > > >>>>>>>> firewall audit is > > > > > > >>>>>>>> on the TODO list, and when I finally get to it, I'll have > > > > > > >>>>>>>> to address > > > > > > >>>>>>>> this for a number of services, not only Bacula. > > > > > > >>>>>>> My testing today shows that is sets both listening and > > > > > > >>>>>>> outgoing. All > > > > > > >>>>>>> I tested was a status command. Nothing more. > > > > > > >>>>>>> > > > > > > >>>>>>> > > > > > > >>>>>> Well, that doesn't seem to be the case on my linux (FC5) > > > > > > >>>>>> machine. :( > > > > > > >>>>>> > > > > > > >>>>>> The LISTEN addresses are right but the address the > > > > > > >>>>>> communications spawn > > > > > > >>>>>> from is the base system address. > > > > > > >>>>>> > > > > > > >>>>>> tcp 0 0 xxx.xxx.x.49:9101 0.0.0.0:* > > > > > > >>>>>> LISTEN 100 9291 3056/bacula-dir > > > > > > >>>>>> tcp 0 0 xxx.xxx.x.49:9103 0.0.0.0:* > > > > > > >>>>>> LISTEN 0 9239 3011/bacula-sd > > > > > > >>>>>> > > > > > > >>>>>> Then run a status client command with the following ngrep > > > > > > >>>>>> running (I > > > > > > >>>>>> shouldn't see any data) > > > > > > >>>>>> > > > > > > >>>>>> [EMAIL PROTECTED] bacula]# ngrep "" "src host xxx.xxx.x.48 > > > > > > >>>>>> and dst host > > > > > > >>>>>> xxx.xxx.x.3" > > > > > > >>>>>> interface: eth0 (xxx.xxx.x.0/255.255.254.0) > > > > > > >>>>>> filter: (ip) and ( src host xxx.xxx.x.48 and dst host > > > > > > >>>>>> xxx.xxx.x.3 ) > > > > > > >>>>>> 114 received, 0 dropped > > > > > > >>>>>> > > > > > > >>>>>> And I see the following in netstat: > > > > > > >>>>>> > > > > > > >>>>>> tcp 0 0 xxx.xxx.x.48:53286 > > > > > > >>>>>> xxx.xxx.x.3:9102 > > > > > > >>>>>> TIME_WAIT 0 0 - > > > > > > >>>>>> > > > > > > >>>>>> :( > > > > > > >>>>> Without the corrresponding configuration file, I cannot > > > > > > >>>>> comment. > > > > > > >>>>> > > > > > > >>>> Director{} resource from bacula-dir.conf > > > > > > >>>> Director { # define myself > > > > > > >>>> Name = bacula-dir > > > > > > >>>> DIRport = 9101 # where we listen for UA > > > > > > >>>> connections > > > > > > >>>> QueryFile = "/etc/bacula/query.sql" > > > > > > >>>> WorkingDirectory = "/var/bacula/working" > > > > > > >>>> PidDirectory = "/var/bacula/run" > > > > > > >>>> Maximum Concurrent Jobs = 8 > > > > > > >>>> Password = <REMOVED> # Console password > > > > > > >>>> Messages = Daemon > > > > > > >>>> DirAddress = xxx.xxx.x.49 > > > > > > >>>> } > > > > > > >>> This tells the FD that only the given DIR may connect. This > > > > > > >>> does not > > > > > > >>> tell the FD where it should listen. To tell the FD how to > > > > > > >>> listen, > > > > > > >>> here is what I did: > > > > > > >>> > > > > > > >>> FileDaemon { > > > > > > >>> Name = ngaio-fd > > > > > > >>> FDport = 9102 > > > > > > >>> WorkingDirectory = /home/bacula/db > > > > > > >>> Pid Directory = /var/run > > > > > > >>> Maximum Concurrent Jobs = 20 > > > > > > >>> > > > > > > >>> FDAddress = 192.168.0.68; > > > > > > >>> } > > > > > > >>> > > > > > > >>> This is an extract from the bacula-fd.conf file. > > > > > > >>> > > > > > > >>> The FDAddress directive tells the FD to listen (and answer) > > > > > > >>> only on > > > > > > >>> that given address. > > > > > > >>> > > > > > > >>> I think you know what to do now... ;) > > > > > > >>> > > > > > > >> I think you are confused.... > > > > > > >> The FD is listening on another machine on the correct IP > > > > > > >> address, its > > > > > > >> the Director that is talking out of the the 'wrong' (for want of > > > > > > >> a > > > > > > >> better name) IP address. > > > > > > >> > > > > > > >> The server where the director is running has two interfaces (one > > > > > > >> phyiscal one virtual), of .48 and .49, I want it to talk out of > > > > > > >> the .49 > > > > > > >> IP addresses, however it sends out communications from the .48 > > > > > > >> IP address. > > > > > > >> > > > > > > >> Does that clear it up? (confusing I know!) > > > > > > > > > > > > > > I just tested this with the latest BETA code (for bacula-dir; > > > > > > > bconsole was 1.38.11, but I do not think that will affect these > > > > > > > results). > > > > > > > > > > > > > > The bacula-dir config: > > > > > > > > > > > > > > Director { # define myself > > > > > > > Name = ngaio-dir > > > > > > > DIRport = 9101 # where we listen for UA > > > > > > > connections > > > > > > > QueryFile = "/usr/local/share/bacula/query.sql" > > > > > > > WorkingDirectory = "/home/bacula/db" > > > > > > > PidDirectory = "/var/run" > > > > > > > Maximum Concurrent Jobs = 3 > > > > > > > Password = "****" # Console password > > > > > > > Messages = Daemon > > > > > > > > > > > > > > DirAddress = 192.168.0.68 > > > > > > > } > > > > > > > > > > > > > > The bconsole.conf: > > > > > > > > > > > > > > Director { > > > > > > > Name = ngaio-dir > > > > > > > DIRport = 9101 > > > > > > > Address = 192.168.0.68 > > > > > > > # address = ngaio > > > > > > > Password = "***" > > > > > > > } > > > > > > > > > > > > > > Connecting thusly: > > > > > > > > > > > > > > $ bconsole -c ~/bconsole.conf > > > > > > > Connecting to Director 192.168.0.68:9101 > > > > > > > 1000 OK: ngaio-dir Version: 1.39.24 (02 October 2006) > > > > > > > Enter a period to cancel a command. > > > > > > > * > > > > > > > > > > > > > > All comms went via 192.168.0.68 > > > > > > > > > > > > > > Monitored like this: > > > > > > > > > > > > > > sudo tcpdump -ni fxp0 port 9101 | grep -v 10.55.0.68 > > > > > > > > > > > > > > Any questions? I'll answer. > > > > > > > > > > > > > > I used the beta because it was already installed on this machine. > > > > > > > > > > > > > > > > > > > > > > > > > > Make an outgoing command to a client and see what IP address that > > > > > > comes > > > > > > from... something like a status client=blah should work. > > > > > > > > > > > > The Outgoing IP address will be your system default address. > > > > > > > > > > Done. Nothing caught by the above (and repeated below) filter. I > > > > > also tried running a job. Nothing out on the the primary IP address. > > > > > The filter is: > > > > > > > > > > tcpdump -ni fxp0 port 9101 | grep -v 10.55.0.68 > > > > > > > > > > The ifconfig is: > > > > > > > > > > $ ifconfig fxp0 > > > > > fxp0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu > > > > > 1500 > > > > > options=8<VLAN_MTU> > > > > > inet6 fe80::204:acff:fea3:703d%fxp0 prefixlen 64 scopeid 0x1 > > > > > inet 10.55.0.67 netmask 0xffffff00 broadcast 10.55.0.255 > > > > > inet 10.55.0.68 netmask 0xffffffff broadcast 10.55.0.68 > > > > > ether 00:04:ac:a3:70:3d > > > > > media: Ethernet autoselect (100baseTX <full-duplex>) > > > > > status: active > > > > > > > > From your results, it looks to me like the Director didn't bind the > > > > source IP address when connecting to the client. Right? > > > > > > I do not understand what you are saying. :) > > > > I thought you were an expert by using tcpdump :-) > > ;) > > > > > Assuming that 10.55.0.68 and 192.168.0.68 are somehow related, your primary > > IP > > Yes, sorry, my error. They should be the same address. > > > address is 10.55.0.67 and your alias is 10.55.0.68. > > Correct. > > > You said "Nothing caught by the above" when looking for 10.55.0.68 in > > the tcpdump. > > The dump is: tcpdump -ni fxp0 port 9101 | grep -v 10.55.0.68 > > Which means, show me everything on device fxp0 for port 9101. Then > the grep ignores everything to/from 10.55.0.68. The only stuff that > should be displayed will be traffic not to or from 10.55.0.68, which > leaves the primary. So any possible output must be port 9101 on the > primary IP address. > > I think the confusion is my choice of words: "nothing caught"... > > > so I assume that the traffic is on the primary IP address instead > > (though for the client test you need to change the port number in > > tcpdump of course). You could probably check this with something like > > > > tcpdump -ni fxp0 port 9102 | grep -v 10.55.0.67 > > That would show only traffic not from the primary.
Doh, right, I missed (and copied!) the -v option. In that case, I don't understand it because I don't see any code in Bacula to bind the local address before calling connect(2). While the director is connected to the client, if you run netstat -n (on both machines) does it confirm that the connection comes from 10.55.0.68? And this changes if you change the Director's config to listen only on 10.55.0.67? __Martin ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Bacula-users mailing list Bacula-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/bacula-users