[SOLVED] Upgrading 14.2 to 15.0, no internet connection
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I've already installed a couple of 15.0 system from scratch w/o problem. Now, I'm trying to upgrade from 14.2 (up-to-date) to 15.0. I believe I've followed the procedures in UPGRADE.TXT. The system boots OK, and I appear to have eth0:
But I get "temporary resolution failure, no route to host".
I've been doing quite a lot with network interfacing over the past decade or so, especially with Slackware, but I'll have to say I'm stumped. My rc.inet1.conf has:
Code:
# IPv4 config options for eth0:
IPADDRS[0]="23.244.81.7"
# NETMASK[0]="255.255.254.0"
USE_DHCP[0]="no"
# IPv6 config options for eth0:
IP6ADDRS[0]=""
USE_SLAAC[0]=""
USE_DHCP6[0]=""
# Generic options for eth0:
DHCP_HOSTNAME[0]=""
/etc/resolv.conf has the same name servers.
Maybe I'll call myself an idiot later, but I know not where to look. This normally "just works".
You forgot the netmask component of the IPADDRS[0] parameter for your interface.
Since you didn't specify the netmask, it's assumed to be /24 - which differs from the NETMASK[0] parameter you have commented, indicating you need a /23.
If this is the proper netmask for your network, then I expect uncommenting this line would also fix the problem.
Note that the use of the NETMASK parameter is ignored when IPADDRS is set (as opposed to the old IPADDR). IPADDRS takes a list of IP/CIDR mask combinations, and assumes /24 as the mask when none is provided.
Obviously GATEWAY should still be set correctly for the network for things to work correctly.
Yes, that worked. Tell me, how did you know this? I find nothing on this in UPGRADE.TXT or CHANGES_AND_HINTS.TXT. Nor is it mentioned in /etc/rc.d/rc.inet1.conf, which would seem the logical place to put this critical change.
Nor is it mentioned in /etc/rc.d/rc.inet1.conf, which would seem the logical place to put this critical change.
Take a look at /etc/rc.d/rc.inet1.conf.new. Granted, it's not stellar documentation, but it does include relevant examples of how to configure IP addresses.
The upgrade procedure (sensibly) leaves /etc/rc.d/rc.inet.conf well alone, as messing with that would surely cause a loss of connectivity. That's why the new file has a .new extension.
Slackware 15.0 is supposedly 100% compatible with old-style config files, so it's strange that you should run into problems. For instance, the GATEWAY parameter has not changed since forever, so I have no idea how that went missing.
Slackware 15.0 is supposedly 100% compatible with old-style config files, so it's strange that you should run into problems. For instance, the GATEWAY parameter has not changed since forever, so I have no idea how that went missing.
The 15.0 rc.inet1 is 100% backwards compatible with 14.2 rc.inet1.conf files - however, the OP was using the new IPADDRS parameter with the 14.2 IPADDR syntax. Not supplying the CIDR netmask means that a /24 is assumed, which was not what the OP needed.
The GATEWAY parameter is completely unchanged from 14.2.
I should also say, the best way to generate a 100% 15.0 syntax rc.inet1.conf is to re-run 'netconfig', which will guide you through setting up IP addresses.
Not supplying the CIDR netmask means that a /24 is assumed, which was not what the OP needed.
That must be it.
He specified an IP address in the upper half of a /23 network, but as you say, without the requisite /23 netmask.
I'm guessing that the gateway has the address 23.244.80.1, and as that's outside the (incorrectly) assumed /24 network, the ip command would rightfully reject it ("Nexthop has invalid gateway").
Thanks for all the feedback. The only "examples" I see with the IP/x syntax in the rc.inet1.conf.new are for "Example of how to configure a bond" and "Example of how to configure a VLAN interface". Since I'm not doing those, I didn't pay attention to those examples, and had I, I probably would have assumed this was some specific syntax for those types of connections.
I didn't have this problem on my from-scratch installations because they both used DHCP, so I didn't even look at the .new configs. In this case, doing an upgrade, I ran through all the .new configs and did update rc.inet1.conf from .new. I then carefully compared .orig and .new, adding in my IP and gateway. I wondered why IPADDR was changed to IPADDRS and I also wondered at the lack of a NETMASK directive. It didn't occur for me to run netconfig.
I'll have to say, I don't see the point in changing the syntax of rc.inet1.conf. I don't think any other distros use this, and many Slackware users use networkmanager instead. This change does not add functionality that I can discern and I have to believe that I'm not the only one who's stumbled over this.
I'll have to say, I don't see the point in changing the syntax of rc.inet1.conf. I don't think any other distros use this, and many Slackware users use networkmanager instead. This change does not add functionality that I can discern and I have to believe that I'm not the only one who's stumbled over this.
If you had run netconfig or read the man page you'll have noticed that IPADDRS (being plural) takes a list of IP addresses and CIDR netmasks, rather than the original IPADDR (singular) and NETMASK syntax that only allows you to configure a single IP address per interface. IPADDR syntax was kept to allow older rc.inet1.conf files to be used when upgrading, but netconfig was altered to output the new syntax.
The ability to configure multiple IP addresses per interface (with the addition of IPv6 addresses if you need/want them too) is often a requirement for servers.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.