On Friday 07 December 2012 13:02:12 Sudaraka Wijesinghe wrote:
Hello,
My laptop is connected to a LAN with Internet connection and it gets the IP stuff (address, routing, dns) via dhcp using the default systemd scripts on boot. I also have a 3G modem (USB) which I have created the ppp scripts to connect based on the Wiki article https://wiki.archlinux.org/index.php/3G_and_GPRS_modems_with_pppd
Both connections work fine, except after switching to modem from LAN some applications (pidgin, xchat, ect. which were running) still uses the DNS nameserver from previous connection (LAN) meaning they still trying to send DNS queries to LAN router (which is not reachable at that time). This gets fixed after that application is closed and reopened.
Is this behavior normal or a bug?
If I understood it correctly, it is normal. The applications you mention establish TCP connections using the IP address available at the time you launch them as the IP source address. If you later "switch" interface to connect to the Internet (and hence change your IP address), that address is no longer available and hence the TCP connection is broken. You can only restart the application, so that a new TCP connection is established using the new IP address. There are solutions to such a problem (e.g., HIP - Host Identity Protocol), but they are not yet deployed. Bests, Stefano
Thanks.
P.S.
To disconnect/connect from LAN I either use:
# systemctl stop dhcpcd@wlan0 # systemctl start dhcpcd@wlan0
or
# dhcpcd -k wlan0 # dhcpcd wlan0
To disconnect/connect I use poff/pon commands and the scripts are setup exactly as described on the Wiki.