Re: Cannot access Linux computer from outside LAN
- From: Philippe Signoret <philippe.signoret@xxxxxxxxx>
- Date: 31 May 2007 13:48:10 -0700
On May 31, 8:12 am, Bit Twister <BitTwis...@xxxxxxxxxxxxxxxx> wrote:
On 31 May 2007 02:10:25 -0700, Philippe Signoret wrote:
Now two questions remain:
1. How can I make this change permanent (i.e. the routing table will
look like that when I reboot the computer.)
/etc/network/interfaces has the configuration settings.
2. Shouldn't this be happening automatically every time it gets an IP
from the DHCP server on the router??
Yes, depending on how you configured eth0 or what your DHCP server sends.
If you like you can dump and post your network settings and let us
look at them.
-------- standard debug network problem text/script follows: ------------
dump_net.txt version 2.8
If you readhttp://www.catb.org/~esr/faqs/smart-questions.html
it will suggest you provide any information about your setup which might
help troubleshoot your problem. Example, internet connection type,
(cable, adsl,,,), it hardware, (vendor/model of the modem).
Maybe that your system is hooked to a hub/switch/router and type of
hookup, (ethernet,usb, wireless,...) .
If your problem is slow network give a url so we can try it.
So let's see what you have setup so far.
Once you get your network running, you may want to run xx one last time
and save the output file for disk crash/new installs :)
Might not hurt to save xx for one of a network debugging checklist steps.
The following ambidexterous script is for suse, mandriva, ubuntu, kubuntu
and will dump your hardware status, network settings and config files used
in network setup. We need that information to troubleshoot your problem.
If you are having to use windows to access Usenet:
Format a diskette on the windows system.
Copy the following xx.txt script into xx.txt using notepad.exe
then save xx.txt to the diskette/cd/usb stick.
To get the script results back to Windows and
none of the above hardware works, you can use http://www.fs-driver.org/
You do not want some malware writting to linux. You can replace it
with http://www.diskinternals.com/linux-reader/which does not
provide write access if you have not created a FAT partition to
exchange files between OSs.
I do recommend removing the windows/linux file system driver after you get the
linux network up.
Makes your Windows AntiVirus scanner run much faster after removal.
Also, it would be nice to include your windows network settings:
Click up a Prompt/cmd/terminal and add in contents from
ipconfig /all
when you respond with linux settings.
When saving the following xx script, feel free to include the
#**** start/end xx.txt script **** lines.
If using linux for usenet access, su - root, copy script text into xx
chmod +x xx
./xx
and include a.txt (if on linux) or dosa.txt (if on windows) in your reply.
NOTE: to become root, you need to do a
su - root
not su root
#******** start of xx.txt script ****************
_fn=a.txt
_out_fn=$PWD/$_fn
_dos_fn=$PWD/dos${_fn}
_home=$PWD
function cat_fn
{
_fn=$1
if [ -f $_fn ] ; then
echo ======== cat $_fn ========== >> $_out_fn
cat $_fn >> $_out_fn
fi
} # end cat_fn
function grep_fn
{
_fn=$1
if [ -e $_fn ] ; then
echo "======== grep -v '^#' $_fn ==========" >> $_out_fn
grep -v '^#' $_fn >> $_out_fn
fi
} # end grep_fn
function ls_dir
{
_dr=$1
if [ -d $_dr ] ; then
echo "========= cd $_dr ; ls -al ========" >> $_out_fn
cd $_dr
ls -al >> $_out_fn
fi
} # end ls_dir
function tail_fn
{
_fn=$1
if [ -e $_fn ] ; then
echo "======== tail -18 $_fn ==========" >> $_out_fn
tail -18 $_fn >> $_out_fn
fi
} # end tail_fn
#********************************
# check if commands are in $PATH
# and if not add them path to $PATH
#********************************
_path=""
type ifconfig > /dev/null 2>&1
if [ $? -ne 0 ] ; then
_path="${_path}/sbin:"
fi
type cat > /dev/null 2>&1
if [ $? -ne 0 ] ; then
_path="${_path}/bin:"
fi
type id > /dev/null 2>&1
if [ $? -ne 0 ] ; then
_path="${_path}/usr/bin:"
fi
if [ -n "$_path" ] ; then
PATH=${_path}$PATH
export PATH
fi
#********************************
# check if root and logged in correctly
#********************************
_uid=$(id --user)
if [ $_uid -ne 0 ] ; then
echo " "
echo "You need to be root to run $0"
echo "CLick up a terminal and do the following:"
echo " "
echo "su - root"
echo "$PWD/xx"
exit 1
fi
root_flg=1
if [ -n "$LOGNAME" ] ; then
if [ "$LOGNAME" != "root" ] ; then
root_flg=0
fi
fi
if [ -n "$USER" ] ; then
if [ "$USER" != "root" ] ; then
root_flg=0
fi
fi
if [ $root_flg -eq 0 ] ; then
echo " "
echo "Guessing you did a su root"
echo "instead of a su - root"
echo "please exit/logout of this session and do the following:"
echo " "
echo "su - root"
echo "$PWD/xx"
echo " "
exit 1
fi
#********************************
# main code starts here
#********************************
echo "Working, output will be in $_out_fn "
date > $_out_fn
chmod 666 $_out_fn
if [ -n "$_path" ] ; then
echo ======== echo $PATH ========== >> $_out_fn
echo $PATH >> $_out_fn 2>&1
fi
cat_fn /etc/product.id
echo ======== cat /etc/*release ========== >> $_out_fn
cat /etc/*release >> $_out_fn 2>&1
echo ======== uname -rvi ============= >> $_out_fn
uname -rvi >> $_out_fn
echo ======== cat /etc/*version ========== >> $_out_fn
cat /etc/*version >> $_out_fn 2>&1
echo ======== cat /proc/version ========== >> $_out_fn
cat /proc/*version >> $_out_fn 2>&1
type lsb_release > /dev/null 2>&1
if [ $? -eq 0 ] ; then
echo ======== lsb_release -a ========== >> $_out_fn
lsb_release -a >> $_out_fn 2>&1
fi
echo " " >> $_out_fn
echo msec security level is $SECURE_LEVEL >> $_out_fn
echo ======== free ========== >> $_out_fn
free >> $_out_fn 2>&1
type chkconfig > /dev/null 2>&1
if [ $? -eq 0 ] ; then
echo ======== chkconfig --list ========== >> $_out_fn
for _serv in avahi named tmdns ; do
chkconfig --list | grep -i $_serv > /dev/null 2>&1
if [ $? -eq 0 ] ; then
echo "Double check if /$_serv/ needs to be disabled on boot" >> $_out_fn
chkconfig --list | grep -i $_serv >> $_out_fn
fi
done
chkconfig --list >> $_out_fn
else
echo ======== ls -o /etc/rc2.d ========== >> $_out_fn
for _serv in avahi named tmdns ; do
ls /etc/rc2.d/S* | grep $_serv > /dev/null 2>&1
if [ $? -eq 0 ] ; then
echo "Double check if /$_serv/ needs to be disabled on boot" >> $_out_fn
fi
done
ls -o /etc/rc2.d >> $_out_fn
fi
_fn=/etc/nsswitch.conf
if [ -e $_fn ] ; then
echo ======== grep hosts: $_fn ========== >> $_out_fn
grep hosts: $_fn >> $_out_fn
fi
cat_fn /etc/resolv.conf
echo ======== hostname ========== >> $_out_fn
hostname >> $_out_fn
cat_fn /etc/hostname
cat_fn /etc/HOSTNAME
ls /etc/mod*.conf > /dev/null 2>&1
if [ $? -eq 0 ] ; then
echo "======== grep eth /etc/mod*.conf ==========" >> $_out_fn
grep eth /etc/mod*.conf >> $_out_fn
fi
cat_fn /etc/dhclient-enter-hooks
cat_fn /etc/dhclient-exit-hooks
cat_fn /etc/host.conf
echo ================ ifconfig -a =============== >> $_out_fn
ifconfig -a >> $_out_fn
cat_fn /etc/iftab
cat_fn /etc/udev/rules.d/61-net_config.rules
echo ============== route -n ================= >> $_out_fn
route -n >> $_out_fn
cat_fn /etc/sysconfig/network/routes
cat_fn /etc/sysconfig/network
echo ============== head -15 /etc/hosts =============== >> $_out_fn
head -15 /etc/hosts >> $_out_fn
cat_fn /etc/network/interfaces
cat_fn /var/run/network/ifstate
_cmd=""
type ethtool > /dev/null 2>&1
if [ $? -eq 0 ] ; then
_cmd="ethtool"
fi
type mii-tool > /dev/null 2>&1
if [ $? -eq 0 ] ; then
_cmd="mii-tool -v"
fi
if [ -z "$_cmd" ] ; then
echo ======== mii-tool/ethtool NOT INSTALLED ========== >> $_out_fn
fi
for nic in 0 1 2 ; do
if [ -n "$_cmd" ] ; then
$_cmd eth$nic > /dev/null 2>&1
if [ $? -eq 0 ] ; then
echo ======== $_cmd eth$nic ========== >> $_out_fn
$_cmd eth$nic >> $_out_fn
fi
fi
cat_fn /etc/sysconfig/network-scripts/ifcfg-eth$nic
ifconfig eth$nic > /dev/null 2>&1
if [ $? -eq 0 ] ; then
set $(ifconfig eth$nic | tr [A-Z] [a-z])
cat_fn /etc/sysconfig/network/ifcfg-eth-id-$5
fi
tail_fn /var/lib/dhcp/dhclient-eth${nic}.leases
tail_fn /etc/dhcpc/dhcpcd-eth${nic}.info
done # end for nic in 0 1 2 ; do
_dir=/etc/NetworkManager/dispatcher.d
if [ -d $_dir ] ; then
ls_dir $_dir
for _d in "if-up.d" "if-down.d" "if-pre-up.d" "if-post-down.d" ; do
echo ==== cd /etc/network/${_d} ; ls -al === >> $_out_fn
cd /etc/network/${_d}
ls -al >> $_out_fn
done
fi
if [ -d /etc/sysconfig/network-scripts ] ; then
for _d in "ifdown.d" "ifup.d" ; do
_cmd="cd /etc/sysconfig/network-scripts/${_d} ; ls -al "
echo "===== $_cmd ====" >> $_out_fn
cd /etc/sysconfig/network-scripts/${_d}
ls -al >> $_out_fn
done
fi
ls_dir /etc/dhcp3/dhclient-exit-hooks.d
ls_dir /etc/resolvconf/update.d
if [ -d /etc/shorewall ] ; then
_count=$(chkconfig --list shorewall | grep -c :on )
if [ $_count -gt 0 ] ; then
echo "======= Shorewall settings =========" >> $_out_fn
cd /etc/shorewall
for _f in $(ls) ; do
echo "======= $_f =========" >> $_out_fn
grep -v '^#' $_f >> $_out_fn
done
fi
fi
cd $_home
grep_fn /etc/hosts.allow
grep_fn /etc/hosts.deny
echo "======= end of config/network data dump ===========" >> $_out_fn
awk '{print $0 "\r" }' $_out_fn > $_dos_fn
chmod 666 $_dos_fn
echo " "
echo "If posting via linux, post contents of $_out_fn"
echo "You might want to copy it to your account with the command"
echo "cp $_out_fn ~your_login"
echo " "
echo "If posting via windows, post contents of $_dos_fn"
echo " "
echo "If using diskette,"
echo "Copy $_dos_fn to diskette with the following commands:"
echo " "
echo "mkdir -p /floppy"
echo "mount -t auto /dev/fd0 /floppy"
echo "cp $_dos_fn /floppy"
echo "umount /floppy "
echo " "
echo "and $_dos_fn is ready for windows from diskette"
echo " "
#*********** end of dump xx.txt script ...
read more »
Thanks all for your replies.
Here is the /etc/network/interfaces file:
-------------
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.3.1
netmask 255.255.255.0
auto eth1
iface eth1 inet dhcp
auto ath0
iface ath0 inet dhcp
auto wlan0
iface wlan0 inet dhcp
auto dsl-provider
iface dsl-provider inet ppp
provider dsl-provider
pre-up /sbin/ifconfig eth2 up # line maintained by pppoeconf
# added by pppoeconf
auto eth2
iface eth2 inet manual
----------------------
Remember that originally this computer was in charge of maintaining a
PPPoE connection to the internet and doing all the routing. Eventually
I want to get this working again, but for now I just want it to work
normally as a client computer.
Thanks,
Philippe
.
- References:
- Cannot access Linux computer from outside LAN
- From: Philippe Signoret
- Re: Cannot access Linux computer from outside LAN
- From: Bill Marcum
- Re: Cannot access Linux computer from outside LAN
- From: Philippe Signoret
- Re: Cannot access Linux computer from outside LAN
- From: Philipp Pagel
- Re: Cannot access Linux computer from outside LAN
- From: Philippe Signoret
- Re: Cannot access Linux computer from outside LAN
- From: Bit Twister
- Cannot access Linux computer from outside LAN
- Prev by Date: multicasting - newbie queries
- Previous by thread: Re: Cannot access Linux computer from outside LAN
- Next by thread: wireless-tools problem on embedded linux
- Index(es):
Relevant Pages
|