Есть машина на FeeBSD 6.1, выход в Интернет осуществляется через PPoE.После установления соединения с провайдером машина поднимает два PPP-демона и создает два tun-интерфейса (обычно tun0 и tun1):
substance# ifconfig
xl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=8<VLAN_MTU>
ether 00:61:a8:c8:00:28
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1492
inet 212.38.129.249 --> 212.38.128.1 netmask 0xffffffff
Opened by PID 242
tun1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
Opened by PID 552substance# ps ax |grep ppp
242 ?? Ss 0:14.26 /usr/sbin/ppp -quiet -ddial -nat Internet
552 ?? Ss 0:04.04 /usr/sbin/ppp -quiet -ddial -nat Internet
43273 p2 S+ 0:00.01 grep ppp
substance#Интернет работает через tun0, а интерфейс tun1 болтается просто так. PID 552 можно спокойно убить, интерфейс tun1 убить - все будет работать.
Не то что бы это меня сильно напрягало, но неаккуратненько как-то.
Никто с таким не встречался? Возможно, я где-то в настройках PPP накосячил?
/etc/rc.conf:
ddclient_enable="YES"
gateway_enable="YES" # Enable as Lan gateway
hostname="server.homeip.net"
ifconfig_xl0="inet 10.10.10.10 netmask 255.255.255.0"
inetd_enable="YES"
ipfilter_enable="YES" # Start ipf firewall
ipfilter_rules="/etc/ipf.rules" # loads rules definition text file
ipmon_enable="NO" # Start IP monitor log
ipnat_enable="YES" # Start ipnat function
keymap="ru.koi8-r"
linux_enable="YES"
ntpdate_enable="YES"
ntpdate_flags="ntp.psn.ru"
samba_enable="YES"
sshd_enable="YES"
usbd_enable="YES"ppp_enable="YES"
ppp_profile="Internet"
ppp_mode="ddial"
ppp_user="root"
ppp_nat="YES"/etc/ppp/ppp.conf:
default:
set log Phase tun command
set ifaddr 10.0.0.1/0 10.0.0.2/0Internet:
set device PPPoE:xl1
set authname login
set authkey password
set mru 1492
set mtu 1492
enable lqr
enable dns
set lqrperiod 10
enable lqr echo
enable echo
set dial
set login
set timeout 0
set redial 0 0
add default HISADDR# NAT
nat enable yes
Все оказалось до банального просто.После апгрейда с FreeBSD 6.0 до 6.1 в директории /etc/rc.d остался скрипт ppp-user. При этом апгрейд мне также добавил /etc/rc.d/ppp. В итоге в /etc/rc.d оказалось два скрипта, отвечающих за запуск ppp - они-то, вызываемые по очереди, и приводили к запуску двух ppp-демонов на двух tun-интерфейсах.
Прибил скрипт /etc/rc.d/ppp-user - всё наладилось.