Страница 1 из 1

порядок загрузки rc.conf

Добавлено: 2009-05-14 10:31:17
balkon
freebsd 7.1
mpd-5.1_1
ipwf
natd

Здравствуйте.

Машина работает шлюзом. К интернету подключается по PPPoE. Раньше использовал ipfw+ipnat. С такой связкой все работало. Сейчас же такое ощущение, что natd запускается до того как mpd подключиться к интернету. В итоге на самом шлюзе интернет есть, но в локалку не раздается.
После

Код: Выделить всё

/etc/netstart
инет в локалке появляется

соответственно после
/usr/local/etc/rc.d/squid
начинает работать и хттп

вычитал что порядок загрузки определяется строками в скриптах запуска. добавил в скрипт mpd:

Код: Выделить всё

# PROVIDE: mpd
# REQUIRE: SERVERS
# BEFORE: DAEMON
[b]# BEFORE: IPFW
# BEFORE: NATD[/b]
# KEYWORD: shutdown
строки выделенные жирным дописаны мной, но ситуации они не изменили.

вот на всякий случай rc.conf
cat /etc/rc.conf

Код: Выделить всё

font8x14="cp866-8x14"
font8x16="cp866b-8x16"
font8x8="cp866-8x8"
keymap="ru.koi8-r"
mousechar_start="3"
scrnmap="koi8-r2cp866"
sshd_enable="YES"
saver="snake"
mpd_enable="YES"
firewall_enable="YES"
firewall_script="/etc/firewall.script"
gateway_enable="YES"
natd_enable="YES"
natd_flags="-f /etc/natd.conf"
natd_interface="ng0"
ppp_nat="YES"
apache_enable="YES"
squid_enable="YES"
mysql_enable="YES"
sams_enable="YES"
ifconfig_xl0="inet 192.0.0.223  netmask 255.255.255.0"
hostname="gateway"
Подскажите в чем загвоздка и может я вообще не туда копаю?

Re: порядок загрузки rc.conf

Добавлено: 2009-05-14 10:38:21
balkon
пардон за опечатки

# BEFORE: IPFW
# BEFORE: NATD
вот эти строки добавлены в скрипт mpd

соответственно после
/usr/local/etc/rc.d/squid restart
начинает работать и хттп

Re: порядок загрузки rc.conf

Добавлено: 2009-05-14 10:38:38
paradox
проблемы я не понял
но на всяк случай
ман рцордер

Re: порядок загрузки rc.conf

Добавлено: 2009-05-14 11:36:44
balkon
спасибо, вроде разобрался немного. вечером буду пробовать

Re: порядок загрузки rc.conf

Добавлено: 2009-05-20 12:05:11
kapka
Ситуация аналогичная ))
Есть шлюз на freebsd, подключен к адсл модему, модем в режиме бриджа. На фре настроил pppoe. Также используется ipfw+nat, и все пользователи нормально ходят в инет. Проблема возникла, когда произошла первая перезагрузка сервера. Дело в том, что сначала запускался nat, и, не увидя нужного интерфейса (tun0) который создавался только после запуска ppp, не хотел работать. Приходилось nat запускать вручную.
Успешно изменил порядок загрузки (сначала ppp, потом nat). Но проблему это не решило, т.к. бывают случаи, когда ppp не может создать соединения или же tun0 не получает свой IP. И снова нат не запущен, приходиться запускать вручную.
Как можно решить проблему?

Код: Выделить всё

# cat /etc/rc.conf                                                                                                          
...
firewall_enable="YES"
firewall_script="/etc/ipfw.conf"
...
natd_enable="YES"
natd_flags="-f /etc/natd.conf"
...
ppp_enable="YES"
ppp_profile="dsl"
ppp_mode="ddial"
ppp_nat="NO"
...

Код: Выделить всё

# cat /etc/natd.conf                                                                                           
interface       tun0
same_ports
unregistered_only
redirect_port tcp 10.10.1.2:80 80
redirect_port tcp 10.10.1.2:22 53116
redirect_port tcp 10.10.1.2:20 20
redirect_port tcp 10.10.1.2:21 21

Код: Выделить всё

# cat /var/log/console.log
...
May 19 18:03:41 srv kernel: Starting ppp.
...
May 19 18:03:41 srv kernel: Starting divert daemons:
May 19 18:03:41 srv kernel: natd
May 19 18:03:41 srv kernel: natd:
May 19 18:03:41 srv kernel: tun0: cannot get interface address
...

Re: порядок загрузки rc.conf

Добавлено: 2009-05-20 13:09:20
paradox
я просто удивляюсь как некоторе видят схожесть своих проблем и не видят как это решать
ну хорошо
вам
ман натд
читайте

Re: порядок загрузки rc.conf

Добавлено: 2009-05-20 15:41:22
kapka

Код: Выделить всё

-dynamic	 If the -n or -interface option is used, natd will monitor the
		 routing socket for alterations to the interface passed.  If
		 the interface's IP address is changed, natd will dynamically
		 alter its concept of the alias address.
Хотя здесь речь идет вроде только о динамическом IP... Но в моем случае помогло.
З.Ы. Спасибо за пинок ))

Re: порядок загрузки rc.conf

Добавлено: 2009-05-20 18:51:12
zingel

Код: Выделить всё

echo 'rc_info="YES"' >> /etc/rc.conf && sh /etc/rc
если неясно что происходит с rc.

Re: порядок загрузки rc.conf

Добавлено: 2009-05-21 12:51:54
skeletor
Порядок загрузки можно посмотреть так:

Код: Выделить всё

#rcorder /etc/rc.d/* /usr/local/etc/rc.d/*

Re: порядок загрузки rc.conf

Добавлено: 2010-07-24 18:43:22
wowan400
А как быть в случае kernel nat там такой оптиции нет

Re: порядок загрузки rc.conf

Добавлено: 2010-07-24 21:16:25
terminus
Какой опции в kernel nat нет? -dynamic? В ipfw nat есть опция if.

Re: порядок загрузки rc.conf

Добавлено: 2010-07-25 10:51:31
wowan400
Использую kernel nat соединение ppp через модем Megafon
не могу разобраться с порядком загрузки, вот мой порядок

Код: Выделить всё

/etc/rc.d/dumpon
/etc/rc.d/ddb
/etc/rc.d/initrandom
/etc/rc.d/hostid
/etc/rc.d/zvol
/etc/rc.d/geli
/etc/rc.d/gbde
/etc/rc.d/encswap
/etc/rc.d/ccd
/etc/rc.d/swap1
/etc/rc.d/fsck
/etc/rc.d/root
/etc/rc.d/hostid_save
/etc/rc.d/mdconfig
/etc/rc.d/mountcritlocal
/etc/rc.d/zfs
/etc/rc.d/FILESYSTEMS
/etc/rc.d/var
/etc/rc.d/random
/etc/rc.d/adjkerntz
/etc/rc.d/atm1
/etc/rc.d/hostname
/etc/rc.d/kldxref
/etc/rc.d/sppp
/etc/rc.d/ipfilter
/etc/rc.d/ipnat
/etc/rc.d/ipfs
/etc/rc.d/addswap
/etc/rc.d/auto_linklocal
/etc/rc.d/sysctl
/etc/rc.d/serial
/etc/rc.d/cleanvar
/etc/rc.d/netif
/etc/rc.d/ip6addrctl
/etc/rc.d/atm2
/etc/rc.d/pfsync
/etc/rc.d/pflog
/etc/rc.d/pf
/etc/rc.d/ppp
/etc/rc.d/routing
/etc/rc.d/ip6fw
/etc/rc.d/network_ipv6
/etc/rc.d/devd
/etc/rc.d/ipsec
/etc/rc.d/nsswitch
/etc/rc.d/resolv
/etc/rc.d/mroute6d
/etc/rc.d/route6d
/etc/rc.d/mrouted
/etc/rc.d/routed
/etc/rc.d/defaultroute
/etc/rc.d/ipfw
/etc/rc.d/netoptions
/etc/rc.d/NETWORKING
/etc/rc.d/mountcritremote
/etc/rc.d/accounting
/etc/rc.d/ldconfig
/etc/rc.d/devfs
/etc/rc.d/ipmon
/etc/rc.d/mdconfig2
/etc/rc.d/newsyslog
/etc/rc.d/syslogd
/etc/rc.d/savecore
/etc/rc.d/archdep
/etc/rc.d/abi
/etc/rc.d/SERVERS
/etc/rc.d/named
/etc/rc.d/ntpdate
/etc/rc.d/rpcbind
/etc/rc.d/nfsclient
/etc/rc.d/nisdomain
/etc/rc.d/ypserv
/etc/rc.d/ypbind
/etc/rc.d/ypset
/etc/rc.d/amd
/etc/rc.d/atm3
/etc/rc.d/auditd
/etc/rc.d/tmp
/etc/rc.d/cleartmp
/etc/rc.d/dmesg
/etc/rc.d/ipxrouted
/etc/rc.d/kerberos
/etc/rc.d/kadmind
/etc/rc.d/keyserv
/etc/rc.d/kpasswdd
/etc/rc.d/nfsuserd
/etc/rc.d/gssd
/etc/rc.d/quota
/etc/rc.d/nfsserver
/etc/rc.d/mountd
/etc/rc.d/nfsd
/etc/rc.d/statd
/etc/rc.d/lockd
/etc/rc.d/pppoed
/etc/rc.d/pwcheck
/etc/rc.d/virecover
/usr/local/etc/rc.d/apcupsd
/etc/rc.d/DAEMON
/etc/rc.d/apm
/etc/rc.d/apmd
/etc/rc.d/bootparams
/etc/rc.d/hcsecd
/etc/rc.d/bthidd
/etc/rc.d/local
/etc/rc.d/lpd
/etc/rc.d/motd
/etc/rc.d/mountlate
/etc/rc.d/nscd
/etc/rc.d/ntpd
/etc/rc.d/powerd
/etc/rc.d/rarpd
/etc/rc.d/sdpd
/etc/rc.d/rfcomm_pppd_server
/etc/rc.d/rtadvd
/etc/rc.d/rwho
/etc/rc.d/timed
/etc/rc.d/ugidfw
/etc/rc.d/yppasswdd
/usr/local/etc/rc.d/havp
/usr/local/etc/rc.d/isc-dhcpd
/usr/local/etc/rc.d/nut
/usr/local/etc/rc.d/nut_upslog
/usr/local/etc/rc.d/nut_upsmon
/usr/local/etc/rc.d/openntpd
/usr/local/etc/rc.d/powerman
/usr/local/etc/rc.d/proftpd
/usr/local/etc/rc.d/rinetd
/usr/local/etc/rc.d/spawn-fcgi
/etc/rc.d/LOGIN
/usr/local/etc/rc.d/squid
/usr/local/etc/rc.d/snmptrapd
/usr/local/etc/rc.d/snmpd
/usr/local/etc/rc.d/mysql-server
/usr/local/etc/rc.d/sams
/usr/local/etc/rc.d/php-fpm
/usr/local/etc/rc.d/nginx
/usr/local/etc/rc.d/darkstat
/usr/local/etc/rc.d/clamav-clamd
/usr/local/etc/rc.d/clamav-freshclam
/etc/rc.d/ypxfrd
/etc/rc.d/ypupdated
/etc/rc.d/wpa_supplicant
/etc/rc.d/watchdogd
/etc/rc.d/syscons
/etc/rc.d/sshd
/etc/rc.d/sendmail
/etc/rc.d/cron
/etc/rc.d/jail
/etc/rc.d/localpkg
/etc/rc.d/securelevel
/etc/rc.d/power_profile
/etc/rc.d/othermta
/etc/rc.d/nfscbd
/etc/rc.d/natd
/etc/rc.d/msgs
/etc/rc.d/moused
/etc/rc.d/mixer
/etc/rc.d/inetd
/etc/rc.d/hostapd
/etc/rc.d/geli2
/etc/rc.d/ftpd
/etc/rc.d/ftp-proxy
/etc/rc.d/dhclient
/etc/rc.d/bsnmpd
/etc/rc.d/bridge
/etc/rc.d/bluetooth
/etc/rc.d/bgfsck
вроде ppp загружается гораздо раньше ipfw
все равно при загрузке ipfw: tun0: cannot get interface address и соответственно нат не работает приходится загружать руками

ppp.conf

Код: Выделить всё

u3g:
 nat enable yes
 set device /dev/cuaU0.0

 set speed 460800
 set timeout 0
 set phone "*99***1#"
 set authname
 set authkey

 set dial "ABORT BUSY TIMEOUT 2 \
          \"\" \
          AT OK-AT-OK \
          AT+CFUN=1 OK-AT-OK \
          AT+CMEE=2 OK-AT-OK \
          AT+CSQ OK \
          AT+CGDCONT=1,\\\"IP\\\",\\\"internet\\\" OK \
          AT+CGACT? OK-AT-OK \
          AT+CGATT? OK \
          AT+CGCLASS? OK \
          AT+COPS? OK \
          ATD*99***1# CONNECT"

# set login
 set vj slotcomp off
 set crtscts on
# enable dns
# resolv rewrite

 set ifaddr 10.0.0.1/0 10.0.0.2/0 255.255.255.0 0.0.0.0
 add default HISADDR

/etc/ipfw.rules

Код: Выделить всё

####################################################################
# NAT Kernel
####################################################################
$cmd nat 1 config log if ${pppOut} reset same_ports deny_in
$cmd add 00110 nat 1 ip from any 25,110,5190  to any via ${pppOut}
$cmd add 00111 nat 1 ip from any to any 110,25,5190 via ${pppOut}

Re: порядок загрузки rc.conf

Добавлено: 2010-08-11 17:38:03
shwabroid
Добрый день!
У меня похожая проблема: named загружается быстрее чем ppp создает интернет-соединение. Соответственно ДНС-сервер не прослушивает порт извне и не отвечет на ДНС-запросы.
Порядок загрузки rc.conf правильный:

Код: Выделить всё

...
/etc/rc.d/ppp
/etc/rc.d/routing
/etc/rc.d/ip6fw
/etc/rc.d/network_ipv6
/etc/rc.d/devd
/etc/rc.d/ipsec
/etc/rc.d/ipfw
/etc/rc.d/nsswitch
/etc/rc.d/resolv
/etc/rc.d/mroute6d
/etc/rc.d/route6d
/etc/rc.d/mrouted
/etc/rc.d/routed
/etc/rc.d/netoptions
/etc/rc.d/NETWORKING
/etc/rc.d/mountcritremote
/etc/rc.d/accounting
/etc/rc.d/ldconfig
/etc/rc.d/devfs
/etc/rc.d/ipmon
/etc/rc.d/mdconfig2
/etc/rc.d/ramdisk-own
/etc/rc.d/newsyslog
/etc/rc.d/syslogd
/etc/rc.d/savecore
/etc/rc.d/archdep
/etc/rc.d/abi
/etc/rc.d/SERVERS
/etc/rc.d/named
...
Помогите, как научить named загружать уже после установленного интернет-соединения.

Re: порядок загрузки rc.conf

Добавлено: 2010-08-11 17:57:04
rmn
поубирать настройки из rc.conf, создать выполняемый скрипт /etc/rc.d/setup.sh и в нем запускать все сервисы в нужном порядке...

Re: порядок загрузки rc.conf

Добавлено: 2010-08-12 9:37:05
shwabroid
Ясно. Спасибо. Буду пробовать.

Re: порядок загрузки rc.conf

Добавлено: 2014-08-05 14:24:02
wien
Имею аналогичную проблему. Порядок загрузки демонов

Код: Выделить всё

/etc/rc.d/ppp
/etc/rc.d/routing
/etc/rc.d/ip6fw
/etc/rc.d/network_ipv6
/etc/rc.d/devd
/etc/rc.d/ipsec
/etc/rc.d/ipfw
/etc/rc.d/nsswitch
/etc/rc.d/resolv
/etc/rc.d/mroute6d
/etc/rc.d/route6d
/etc/rc.d/mrouted
/etc/rc.d/routed
/etc/rc.d/netoptions
/etc/rc.d/NETWORKING
/etc/rc.d/mountcritremote
/etc/rc.d/accounting
/etc/rc.d/ldconfig
/etc/rc.d/devfs
/etc/rc.d/ipmon
/etc/rc.d/mdconfig2
/etc/rc.d/ramdisk-own
/etc/rc.d/newsyslog
/etc/rc.d/syslogd
/etc/rc.d/savecore
/etc/rc.d/archdep
/etc/rc.d/abi
/etc/rc.d/SERVERS
/etc/rc.d/named
На первый взгляд все правильно: сначала ррр, потом ipfw. Но похоже ipfw успевает загрузиться раньше, чем поднимется tun0, а т.к. ipfw оперирует понятиями ИП адрес, интерфейс, то интернета на сервере при загрузке нет, дергаю ручками скрипт /etc/rc.firewall все ОК. Пробовал менять ppp на mpd5 - те же яйца, только в профиль, при старте ipfw: tun0: cannot get interface address

Всвязи с этим несколько вопросов:
1. Как заставить подняться ppp до того как начнется загрузка скрипта фаервола?
2. При обрыве связи (канал адсл) интерфейсе обновиться ip. Как по этому событию передернуть фаервол?
3. Т.к. опыта работы с ppp просто нет подскажите после обрыва связи у меня будет тот же самый tun0 интерфейс или пойдет инкремент? Т.е. tun1 - 1 разрыв, tun2 - 2разрыва и т.д.

Буду признателен если кто-то поделиться готовым решение. На всякий случай добавлю: мучал гугл и яндекс на протяжении нескольких часов, но дельног орешения не нашел.

Re: порядок загрузки rc.conf

Добавлено: 2014-08-05 20:11:06
snorlov
Для ppp и mpd есть возможность использовать скрипты на поднятие/опускание интерфейса, типа linkup/linkdown...

Re: порядок загрузки rc.conf

Добавлено: 2014-08-06 14:37:50
wien
У меня обычный шлюз с двумя сетевыми интерфейсами. Один смотрит в локалку, другой в адсл модем. Нет никакой хитрой маршрутизации.
Правильно ли будет в таком случае использовать файл /etc/ppp/ppp.linkup вида:

Код: Выделить всё

provider:
  shell /bin/sh /etc/rc.firewall
???
У меня такого файла небыло, я его создам. Обязательно ли иметь в таком случае и ppp.linkdown?
Будут ли при последующих попытках подключения созданы tun интерфейсы отличные от tun0?

Re: порядок загрузки rc.conf

Добавлено: 2014-08-06 20:53:53
snorlov
Достаточно

Код: Выделить всё

/etc/rc.d/ipfw restart