notoneofmyseeds wrote: > Bob Proulx wrote: > > I must say you have written a book here on this topic, Rob. I've learned a > lot. I printed it out. To your questions now.
Sometimes people say I write too much. But the details are important. :-) And this is a large book again with this message. > I had a very long and nice response that I lost, as a result of an > application crash. LOL! I have been there many times myself! :-) I am merging two messages from you so I can answer both here at the same time. > > ip addr show > 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group > default qlen 1000 > inet 192.168.1.2/24 brd 192.168.1.255 scope global dynamic eth0 > 3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group > default qlen 1000 > inet 10.10.10.6/24 brd 10.10.10.255 scope global dynamic wlan0 Gotcha. Although 192.168.1.2 is an unusual address to get from dhcp. It would help to see the dhcp range the server issues. And the other eth0 network is: > 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group > default qlen 1000 > inet 172.16.1.0/24 brd 172.16.1.255 scope global dynamic eth0 > 3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group > default qlen 1000 > inet 10.10.10.5/24 brd 10.10.10.255 scope global wlan0 Again the 172.16.1.0 is an unusual address to get from dhcp. That is the network address and I don't think this is correct. Have you modified the dhcpd server configuration on that network to include the entire range? I think the next thing to start debugging is the dhcp server configuration on each of those networks. Change the range to something in the middle such as from 192.168.1.100-192.168.1.200 and from 172.16.1.100-172.16.1.200 or some such range that does not include the .0 network address and does not include the .255 broadcast address. Don't assign those as host addresses. > > ip route show | tac > 172.16.1.0/24 dev eth0 proto kernel scope link src 192.168.1.2 > 169.254.0.0/16 dev wlan0 scope link metric 1000 > 10.10.10.0/24 via 10.0.0.1 dev wlan0 proto static metric 1 > 10.10.10.0/24 dev wlan0 proto kernel scope link src 10.0.0.5 > default via 172.16.1.1 dev eth0 proto static metric 1024 The route table is very telling of the problem. I think in this state the wifi was connected first and then the wired network was connected afterward. The wired network dhcp replaced the default route with its own route default default via 172.16.1.1 dev eth0. That is the only route listed in the above. It won't be out your wifi interface. If your wifi interface is the only one with a route to the Internet then obviously the above won't work. You could probably do a manual repair with: ip route replace default via 10.10.10.1 dev wlan0 Aftering bringing up the wired interface, which will break the route, the above would restore the working route out the wlan0 interface. This is only a temporary measure. It is temporary because the dhclient daemon will renew the dhcp lease and every time it does it will rewrite the default route and break things again. But it would probably assure you that this is exactly the problem and that things can work with the right configuration. > >Another question. Are all of the subnets on each of the networks > >different? A subnet is something like 192.168.1.0/24. For example > >having different subnets would mean 192.168.1.0/24 on one and > >192.168.20.0/24 on another and 192.168.42.0/24 on the third. All > >different. > > They are all different. Good! That will make things much easier and simpler. > >Now that you have learned this I have another question. Which > >interface do you wish to keep as the default route? > I assume the default route is the one that will take me online, in that > case, the wifi. Then the wifi will be the main interface and will hold eth0 default route. The other interfaces should have the default route disabled. > And this happens here, when ever the ethernet is connected, the wifi, which > is the connection to the internet does not work. I remain connected to it, > but can't go online. This would mean the lan is being used as the default > route? I think so. But unfortunately you missed providing the route data. :-( > >I think it likely that you have a default route problem which is why I > >explained it in as much detail as I could above. > I think you're right. The question now is who do I set it up. I've tried > several configurations yesterday, none of which worked. For example, I set > wlan0 to dhcp and set the ethernet static, providing all the details, ip, > netmask, etc. That should work. In fact I was going to suggest such a configuration as being easier. Use dhcp on wlan0 but use a static ip configuration on eth0. Could you repeat that test and tell us here what you are doing? > I also changed the order, moving the wlan0 from top to bottom > of the ethernet on the network/interfaces file. The order the interfaces are listed in the interfaces file is not significant. Changing the order won't do anything. > When both are connected or turned on, wlan0 (internet) and eth0 (lan), if I > click on "Disconnect" on the lan in network manager, the wlan0 icon is > automatically replaced by the comes on, if I had not turned it off. And if I > click on Disconnect on the wlan0, the Ethernet stays off, if it was not > connected. But if it was, connection is kept alive. If the wlan0 is on and I > turned on the Ethernet, automatically, I loose Internet connection, but the > wlan0 stays connected to the wifi. Yes. I don't quite follow every word in the above but in general I get the "feeling" of it and this feeling is that it matches what I think is true. It is because both interfaces have dhcp and the wired interface is replacing the default route and this default route is not a useful route for you. The root cause of the problem is that the two wired interfaces apparently do not have a working route to the Internet. Correct? On both of the wired interfaces there is a dhcp server that allocates addresses and assigns a default route. But the wired networks don't otherwise connect out to the Internet. Therefore the default route assigned when the wired networks dhcp you and address is faulty. Literally I would say the root cause of the problem is in the dhcpd server configuration where it is assigning a bogus default route. Therefore at the lowest level one fix would be to stop them from assigning a bugus default route. But what are you using for a dhcp server on these two wired networks? Is it a smart system, such as a Debian server running a full featured dhcpd server? I will guess not. Is it a dumb little blue consumer electronics box with no configurability, and no way to turn that feature off? I think that is most likely. Therefore I wouldn't try. Instead I would side-step the issue and assign a static route to the wired networks. To do this you need to know what the dhcp range is on the two networks and pick an address outside that range. But even that doesn't completely solve the problem because the two static configurations need to be different. That is the original problem that dhcp was invented to solve in the first place. If we avoid dhcp then we have the original problem of needing to configure the static addresses again. Earlier you tried a static address but said things did not work for you. Please try it again. Document what you tried in /etc/network/interfaces and with the output of ip addr show and ip route show. For starters something like this in /etc/network/interfaces. allow-hotplug eth0 iface eth0 inet static address 192.168.1.2 > From all that I've read, this should be very simple and straightforward. I don't think so. What you are trying to do is not usual. Connecting simultaneously to two different networks, one of which is not fully capable (the wired one), is not something that everyone does. Therefore the default actions are not set up for you. You will need to do something more than the normal simple thing. Is the capability you want able to be configured simply? I don't think so to that either. Because the standard dhcp client configuration will want to set the default route and what you are asking is a way to avoid setting the default route for one of your interfaces. That can certainly be done but it is not a normal thing to want to do. Can it be done? Yes. I would examine the dhclient script /sbin/dhclient-script and understand how the hook scripts work and figure out a way to have it set the default route for wlan0 but not set the default route for eth0 when it wants to set 172.16.1.1 or 192.168.1.1 for routes. Is that simple? No because that means that the script needs to modified upon every system upgrade that touches it. > I've followed the rules, but no luck. All I want to do is connect to my > local lan and the internet at the same time, without having to switch to the > ethernet when I want to use the lan network, and the wifi when I want to go > online. Am I the only one wanting to do this? Pretty much, yes, you are one of the very, very few who want to do this. Most people who want to do this would do it differently. Now that I think I understand things better I can suggest something. I am still not sure if I understand the wired networks. They don't connect to the Internet. Right? But they still assign bogus default routes. Right? If it were me I would be using a Debian dhcpd and would remove the default route option from the config file. Then they wouldn't assign a default route. Or I would assign a static route and activate it manually when I needed it. That would be a little more work but would keep things simple enough for me. Or I would read /sbin/dhclient-script and figure out what would need to be done to avoid it setting a route on just those networks. I would try to avoid this because it makes a burden for upgrades. It is possible though. ================ Initially try this. Connect to wifi. Connect to either of the wired networks. The manually fix the route. This is a temporary test to verify that you and I understand what it is that you are trying to do. Because remember that the dhclient will undo this every time it renews the lease on the wired network. ip route replace default via 10.10.10.1 dev wlan0 Bob
signature.asc
Description: Digital signature