LinuxForum.Fans
Тема

Проблемы с сетью.

Автор: kessian 6 сообщений 3682 просмотров
#168791

После обновления системы заметил крайне неприятную вещь - при рестарте интерфейса eth1 (интернет), останавливаются все сетевые службы (sshd, dhcpd, samba) и запускаются только руками. dhcpd висит на eth0.

text
kessian ~ # cat /etc/conf.d/net
# This blank configuration will automatically use DHCP for any net.*
# scripts in /etc/init.d.  To create a more complete configuration,
# please review /etc/conf.d/net.example and save your configuration
# in /etc/conf.d/net (this file :]!).

dns_domain_lo="kes-home"

modules="iproute2 dhcpcd"

config_eth0="192.168.160.254/24"

config_eth1="null"

#PPPoE config_ppp0="ppp" link_ppp0="eth1" plugins_ppp0="pppoe" username_ppp0='' password_ppp0='' pppd_ppp0=" defaultroute noauth default-asyncmap ipcp-accept-remote ipcp-accept-local mru 1412 mtu 1412 persist maxfail 0 lcp-echo-interval 15 lcp-echo-failure 3 usepeerdns " rc_need_ppp0="net.eth1"

[console]kessian ~ # uname -a
Linux kessian 2.6.38-gentoo-r4 #4[/console]
Никто не сталкивался с такой проблемой?

#168792

kessian, покажите файл /etc/rc.conf.

#168793
text
kessian ~ # cat /etc/rc.conf 
# Global OpenRC configuration settings

# Set to "YES" if you want the rc system to try and start services # in parallel for a slight speed improvement. When running in parallel we # prefix the service output with its name as the output will get # jumbled up. # WARNING: whilst we have improved parallel, it can still potentially lock # the boot process. Don't file bugs about this unless you can supply # patches that fix it without breaking other things! #rc_parallel="NO"

# Set rc_interactive to "YES" and you'll be able to press the I key during # boot so you can choose to start specific services. Set to "NO" to disable # this feature. This feature is automatically disabled if rc_parallel is # set to YES. #rc_interactive="YES"

# If we need to drop to a shell, you can specify it here. # If not specified we use $SHELL, otherwise the one specified in /etc/passwd, # otherwise /bin/sh # Linux users could specify /sbin/sulogin rc_shell=/sbin/sulogin

# Do we allow any started service in the runlevel to satisfy the dependency # or do we want all of them regardless of state? For example, if net.eth0 # and net.eth1 are in the default runlevel then with rc_depend_strict="NO" # both will be started, but services that depend on 'net' will work if either # one comes up. With rc_depend_strict="YES" we would require them both to # come up. #rc_depend_strict="YES"

# rc_hotplug is a list of services that we allow to be hotplugged. # By default we do not allow hotplugging. # A hotplugged service is one started by a dynamic dev manager when a matching # hardware device is found. # This service is intrinsically included in the boot runlevel. # To disable services, prefix with a ! # Example - rc_hotplug="net.wlan !net.*" # This allows net.wlan and any service not matching net.* to be plugged. # Example - rc_hotplug="*" # This allows all services to be hotplugged #rc_hotplug="*"

# rc_logger launches a logging daemon to log the entire rc process to # /var/log/rc.log # NOTE: Linux systems require the devfs service to be started before # logging can take place and as such cannot log the sysinit runlevel. #rc_logger="YES"

# By default we filter the environment for our running scripts. To allow other # variables through, add them here. Use a * to allow all variables through. #rc_env_allow="VAR1 VAR2"

# By default we assume that all daemons will start correctly. # However, some do not - a classic example is that they fork and return 0 AND # then child barfs on a configuration error. Or the daemon has a bug and the # child crashes. You can set the number of milliseconds start-stop-daemon # waits to check that the daemon is still running after starting here. # The default is 0 - no checking. #rc_start_wait=100

# rc_nostop is a list of services which will not stop when changing runlevels. # This still allows the service itself to be stopped when called directly. #rc_nostop=""

# rc will attempt to start crashed services by default. # However, it will not stop them by default as that could bring down other # critical services. #rc_crashed_stop=NO #rc_crashed_start=YES

############################################################################## # MISC CONFIGURATION VARIABLES # There variables are shared between many init scripts

# Set unicode to YES to turn on unicode support for keyboards and screens. unicode="YES"

# Below is the default list of network fstypes. # # afs cifs coda davfs fuse fuse.sshfs gfs glusterfs lustre ncpfs # nfs nfs4 ocfs2 shfs smbfs # # If you would like to add to this list, you can do so by adding your # own fstypes to the following variable. #extra_net_fs_list=""

############################################################################## # SERVICE CONFIGURATION VARIABLES # These variables are documented here, but should be configured in # /etc/conf.d/foo for service foo and NOT enabled here unless you # really want them to work on a global basis.

# Some daemons are started and stopped via start-stop-daemon. # We can set some things on a per service basis, like the nicelevel. #export SSD_NICELEVEL="-19"

# Pass ulimit parameters #rc_ulimit="-u 30"

# It's possible to define extra dependencies for services like so #rc_config="/etc/foo" #rc_need="openvpn" #rc_use="net.eth0" #rc_after="clock" #rc_before="local" #rc_provide="!net"

# You can also enable the above commands here for each service. Below is an # example for service foo. #rc_foo_config="/etc/foo" #rc_foo_need="openvpn" #rc_foo_after="clock"

# You can also remove dependencies. # This is mainly used for saying which servies do NOT provide net. #rc_net_tap0_provide="!net"

# This is the subsystem type. Valid options on Linux: # "" - nothing special # "lxc" - Linux Containers # "openvz" - Linux OpenVZ # "prefix" - Prefix # "uml" - Usermode Linux # "vserver" - Linux vserver # "xen0" - Xen0 Domain # "xenU" - XenU Domain # If this is commented out, automatic detection will be attempted. # Note that autodetection will not work in a prefix environment or in a # linux container. # # This should be set to the value representing the environment this file is # PRESENTLY in, not the virtualization the environment is capable of. #rc_sys=""

############################################################################## # LINUX SPECIFIC OPTIONS

# This is the number of tty's used in most of the rc-scripts (like # consolefont, numlock, etc ...) rc_tty_number=12

#168795
kessian написал:
text
# rc_nostop is a list of services which will not stop when changing runlevels. 
# This still allows the service itself to be stopped when called directly. 
#rc_nostop="" 
# rc will attempt to start crashed services by default. 
# However, it will not stop them by default as that could bring down other 
# critical services. 
#rc_crashed_stop=NO 
#rc_crashed_start=YES 

Попробуйте поэкспериментировать с этими опциями, например, так:

text

rc_nostop="sshd dhcpd samba"
rc_crashed_stop=NO
rc_crashed_start=YES
#168798

Lupo Alberto, спасибо за наводку, меня лицом к ним тоже уже развернули. Что-то не подумал, что проблема не столько в сетевых службах, сколько в управлении ими может быть. Буду пробовать.

#168832

Всё, таки разобрался. Меня опять подвела привычка быстро читать, пролетел этот пункт

text
# Do we allow any started service in the runlevel to satisfy the dependency
# or do we want all of them regardless of state? For example, if net.eth0
# and net.eth1 are in the default runlevel then with rc_depend_strict="NO"
# both will be started, but services that depend on 'net' will work if either
# one comes up. With rc_depend_strict="YES" we would require them both to
# come up.
rc_depend_strict="NO"

Раньше просто в старом rc была опция RC_KILL_CHILDREN="no", которая не давала тушить зависимых демонов. В новом она теперь вот так выглядит.
Тему можно закрывать.

Войдите или зарегистрируйтесь, чтобы ответить.