problem with dns

Michał Piotrowski mkkp4x4 at gmail.com
Wed Oct 21 23:33:28 UTC 2009


Hi,

This is a problem that touches some of Fedora services.

I've got a network

192.168.101.0

192.168.101.1 - this is my router
192.168.101.200 - ozzy - my F11 server
192.168.101.100 - dio - my Windows 6 workstation

I use two DNS servers

nameserver 192.168.1.1
nameserver 194.204.159.1

The problem shows up when my network 192.168.101.0 lose a connection
with 192.168.1.0 and my primary DNS server is not available.

Every time when I try to use samba I get no response from ozzy. Here
is what is happening for mc

connect(3, {sa_family=AF_INET, sin_port=htons(53),
sin_addr=inet_addr("192.168.1.1")}, 28) = 0
poll([{fd=3, events=POLLOUT}], 1, 0)    = 1 ([{fd=3, revents=POLLOUT}])
sendto(3, "Z\253\1\0\0\1\0\0\0\0\0\0\4ozzy\2pl\0\0\1\0\1"..., 25,
MSG_NOSIGNAL, NULL, 0) = 25
poll([{fd=3, events=POLLIN}], 1, 5000)  = 0 (Timeout)
socket(PF_INET, 0x802 /* SOCK_??? */, IPPROTO_IP) = 4
connect(4, {sa_family=AF_INET, sin_port=htons(53),
sin_addr=inet_addr("194.204.159.1")}, 28) = 0
poll([{fd=4, events=POLLOUT}], 1, 0)    = 1 ([{fd=4, revents=POLLOUT}])
sendto(4, "Z\253\1\0\0\1\0\0\0\0\0\0\4ozzy\2pl\0\0\1\0\1"..., 25,
MSG_NOSIGNAL, NULL, 0) = 25
poll([{fd=4, events=POLLIN}], 1, 5000)  = 0 (Timeout)
poll([{fd=3, events=POLLOUT}], 1, 0)    = 1 ([{fd=3, revents=POLLOUT}])
sendto(3, "Z\253\1\0\0\1\0\0\0\0\0\0\4ozzy\2pl\0\0\1\0\1"..., 25,
MSG_NOSIGNAL, NULL, 0) = 25
poll([{fd=3, events=POLLIN}], 1, 5000)  = 0 (Timeout)
poll([{fd=4, events=POLLOUT}], 1, 0)    = 1 ([{fd=4, revents=POLLOUT}])
sendto(4, "Z\253\1\0\0\1\0\0\0\0\0\0\4ozzy\2pl\0\0\1\0\1"..., 25,
MSG_NOSIGNAL, NULL, 0) = 25
poll([{fd=4, events=POLLIN}], 1, 5000^C <unfinished ...>

Program tries to reach an unreachable server. I have found a
workaround - temporary comment all nameservers in resolv.conf. But
it's not a solution for a long term.

Another instance of this problem is ssh logging
- I enter an user name
- about a 60 second delay
- password prompt appear

Yet another problem (when name servers are commented out in resolv.conf)
[root at ozzy ~]# yum --enablerepo=updates-testing upgrade
Wczytane wtyczki: presto, remove-with-leaves
Traceback (most recent call last):
  File "/usr/bin/yum", line 29, in <module>
    yummain.user_main(sys.argv[1:], exit_code=True)
  File "/usr/share/yum-cli/yummain.py", line 311, in user_main
    errcode = main(args)
  File "/usr/share/yum-cli/yummain.py", line 180, in main
    result, resultmsgs = base.doCommands()
  File "/usr/share/yum-cli/cli.py", line 349, in doCommands
    self._getTs(needTsRemove)
  File "/usr/lib/python2.6/site-packages/yum/depsolve.py", line 100, in _getTs
    self._getTsInfo(remove_only)
  File "/usr/lib/python2.6/site-packages/yum/depsolve.py", line 111,
in _getTsInfo
    pkgSack = self.pkgSack
  File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 702, in <lambda>
    pkgSack = property(fget=lambda self: self._getSacks(),
  File "/usr/lib/python2.6/site-packages/yum/__init__.py", line 538,
in _getSacks
    self.repos.populateSack(which=repos)
  File "/usr/lib/python2.6/site-packages/yum/repos.py", line 277, in
populateSack
    sack.populate(repo, mdtype, callback, cacheonly)
  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 164, in populate
    if self._check_db_version(repo, mydbtype):
  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 222, in
_check_db_version
    return repo._check_db_version(mdtype)
  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 1222,
in _check_db_version
    repoXML = self.repoXML
  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 1386, in <lambda>
    repoXML = property(fget=lambda self: self._getRepoXML(),
  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 1378,
in _getRepoXML
    self._loadRepoXML(text=self)
  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 1368,
in _loadRepoXML
    return self._groupLoadRepoXML(text, ["primary"])
  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 1351,
in _groupLoadRepoXML
    if self._commonLoadRepoXML(text):
  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 1192,
in _commonLoadRepoXML
    if self._latestRepoXML(local):
  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 1170,
in _latestRepoXML
    repomd = self.metalink_data.repomd
  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 699, in <lambda>
    metalink_data = property(fget=lambda self: self._getMetalink(),
  File "/usr/lib/python2.6/site-packages/yum/yumRepo.py", line 681, in
_getMetalink
    print "Could not get metalink %s error was \n%s" %(url, e)
  File "/usr/lib64/python2.6/codecs.py", line 351, in write
    data, consumed = self.encode(object, self.errors)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc5 in position
197: ordinal not in range(128)

I think that such behavior is clearly wrong. But it's a long term
issue. So maybe I'm wrong and this is a correct behavior?

Regards,
Michal




More information about the fedora-devel-list mailing list