Вчера получил статичный IP и решил что пришло время перевести модем в режим бриджа, а на FreeBSD настроить ppp. Сказано, - сделано. Но вот встала небольшая проблемка, после настройки в несколько строчек, в три конфига инет не заработал. Что-то с маршрутом по умолчанию.
enoch@freebsd-host:~> cat /etc/ppp/ppp.conf
default:
 set log Phase tun command
 set ifaddr 192.168.1.1/0 192.168.1.2/0
adsl:
 set device PPPoE:vr0
 set dial
 set login
 set authname xxx
 set authkey xxx
 enable lqr
 add default HISADDR
Выжимка из /etc/rc.conf:
# ADSL PPPoE Setup
ppp_enable="YES"
ppp_mode="ddial"
ppp_nat="YES"
ppp_profile="adsl"
enoch@freebsd-host:~> ifconfig
vr0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=82808<VLAN_MTU,WOL_UCAST,WOL_MAGIC,LINKSTATE>
        ether 00:22:xx:xx:xx:xx
        inet 192.168.1.2 netmask 0xffffff00 broadcast 192.168.1.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
vr1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=82808<VLAN_MTU,WOL_UCAST,WOL_MAGIC,LINKSTATE>
        ether 00:22:xx:xx:xx:xx
        inet 10.0.0.1 netmask 0xffffff00 broadcast 10.0.0.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
ipfw0: flags=8801<UP,SIMPLEX,MULTICAST> metric 0 mtu 65536
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=3<RXCSUM,TXCSUM>
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
        inet6 ::1 prefixlen 128
        inet 127.0.0.1 netmask 0xff000000
        nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1492
        options=80000<LINKSTATE>
        inet 78.yy.yy.yy --> 78.xx.xxx.x netmask 0xffffffff
        Opened by PID 463
enoch@freebsd-host:~> netstat -rn
Routing tables
Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            78.xx.xxx.x        UGS         0      292    vr0
10.0.0.0/24        link#2             U           1       49    vr1
10.0.0.1           link#2             UHS         0        0    lo0
78.xx.xxx.x        link#5             UHS         0        0   tun0
78.yy.yy.yy        link#5             UHS         0        0    lo0
127.0.0.1          link#4             UH          0        0    lo0
192.168.1.0/24     link#1             U           0        0    vr0
192.168.1.2        link#1             UHS         0        0    lo0
Пингуем ya.ru и 8.8.8.8:
enoch@freebsd-host:~> ping ya.ru
ping: cannot resolve ya.ru: Host name lookup failure
enoch@freebsd-host:~> ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
ping: sendto: Invalid argument
ping: sendto: Invalid argument
ping: sendto: Invalid argument
ping: sendto: Invalid argument
^C
--- 8.8.8.8 ping statistics ---
4 packets transmitted, 0 packets received, 100.0% packet loss
Не проходит. Печаль.
Удаляем дефолтный шлюз и добавляем его заново:
enoch@freebsd-host:~> sudo route delete default
delete net default
enoch@freebsd-host:~> sudo route add default 78.xx.xxx.x
add net default: gateway 78.xx.xxx.x
А вот так нормально:
enoch@freebsd-host:~> netstat -rn
Routing tables
Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            78.xx.xxx.x        UGS         0    58042   tun0
10.0.0.0/24        link#2             U           1    97321    vr1
10.0.0.1           link#2             UHS         0        0    lo0
78.xx.xxx.x        link#5             UHS         0        0   tun0
78.yy.yy.yy        link#5             UHS         0        0    lo0
127.0.0.1          link#4             UH          0        8    lo0
192.168.1.0/24     link#1             U           0       90    vr0
192.168.1.2        link#1             UHS         0        0    lo0
enoch@freebsd-host:~> ping ya.ru
PING ya.ru (93.158.134.3): 56 data bytes
64 bytes from 93.158.134.3: icmp_seq=0 ttl=251 time=53.348 ms
64 bytes from 93.158.134.3: icmp_seq=1 ttl=251 time=59.589 ms
64 bytes from 93.158.134.3: icmp_seq=2 ttl=251 time=53.132 ms
64 bytes from 93.158.134.3: icmp_seq=3 ttl=251 time=53.954 ms
64 bytes from 93.158.134.3: icmp_seq=4 ttl=251 time=52.839 ms
^C
--- ya.ru ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 52.839/54.572/59.589/2.535 ms
Как видно из netstat -rn дело в маршруте по-умолчанию. На момент загрузки системы он уже есть, но используется интерфейс vr0, а не tun0. Что делать? Как это исправить? Уже пробовал выставлять defaultrouter=«NO» и defaultrouter=«78.x.x.x» не помогает. Все равно по умолчанию висит на интерфейсе vr0.
Помогите, плиз.
З.Ы.: FreeBSD-RELEASE-p1

