Доброго, форумчане. После долгих попыток самостоятельного решения пришёл в полный тупик.
Итак. Домашняя сеть: от провайдера модем, далее мой роутер DI-707P, к которому подключены машины с виндой, ubuntu, точка доступа Wi-Fi, телевизор и т.д. Провайдер раздаёт инет через pptp.
Проблема: нужен "умный" шлюз, который бы сам поднимал соединение с провайдером, держал его и раздавал инет всем остальным. "Умный" - это означает, что на нём можно ещё было к примеру поднять miniDLNA для телека и прочие удобства буржуйской жизни.
Начал я с простого. Взял старый комп, поставил на него ubuntu server 10.10 и попробовал инициировать подключение к провайдеру. После долгих и мучительных магических комбинаций (не сравнишь с Network Manager'ом на десктопе) оно заработало, но как всегда не так как надо. После соединения через 5-10 секунд пропадает разрешение имён. Пинг по ip есть, а по имени нету. Соответственно и инета нету.
Поскольку этой мой первый сервак на линуксе, то хотелось бы добить это дело, т.к. из-за этого vpn'а доступ имеет к инету всего лишь один комп в одно время. Расшаривать виндой инет не хочу, хотя работало. Десктопной ubuntu расшарить не получилось, а хочется по нормальному - линуксовым шлюзом.
Вот мои настройки во время эксперимента:
root@netserver:/# sudo pon ssvyaz &
[1] 2578
root@netserver:/# Using interface ppp0
Connect: ppp0 <--> /dev/pts/3
CHAP authentication succeeded
replacing old default route to eth0 [192.168.0.50]
local IP address 10.100.0.57
remote IP address 192.168.1.1
primary DNS address 192.168.2.111
secondary DNS address 192.168.2.112
root@netserver:/# ping ya.ru
PING ya.ru (93.158.134.203) 56(84) bytes of data.
64 bytes from www.yandex.ru (93.158.134.203): icmp_req=1 ttl=55 time=87.3 ms
64 bytes from www.yandex.ru (93.158.134.203): icmp_req=2 ttl=55 time=105 ms
64 bytes from www.yandex.ru (93.158.134.203): icmp_req=3 ttl=55 time=100 ms
64 bytes from www.yandex.ru (93.158.134.203): icmp_req=5 ttl=55 time=84.0 ms
^C
--- ya.ru ping statistics ---
5 packets transmitted, 4 received, 20% packet loss, time 4003ms
rtt min/avg/max/mdev = 84.030/94.508/105.770/9.058 ms
root@netserver:/# tracepath ya.ru
1: 10.100.0.57 0.493ms pmtu 1500
1: no reply
2: 192.168.2.112 23.018ms
3: 217.20.95.253 17.175ms
4: 90.150.2.114 25.363ms asymm 7
5: 194.85.107.67 50.907ms asymm 7
6: 194.85.107.57 49.366ms
7: 213.180.208.54 101.321ms
8: 93.158.134.3 104.167ms reached
Resume: pmtu 1500 hops 8 back 57
root@netserver:/# ping ya.ru
ping: unknown host ya.ru
root@netserver:/# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.1.1 192.168.0.50 255.255.255.255 UGH 0 0 0 eth0
192.168.1.1 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 0.0.0.0 0.0.0.0 U 0 0 0 ppp0
root@netserver:/# ifconfig
eth0 Link encap:Ethernet HWaddr 00:11:95:28:87:8f
inet addr:192.168.0.155 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::211:95ff:fe28:878f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:3040 errors:0 dropped:0 overruns:0 frame:0
TX packets:2560 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:314097 (314.0 KB) TX bytes:491196 (491.1 KB)
Interrupt:18 Base address:0xc000
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:16 errors:0 dropped:0 overruns:0 frame:0
TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:3064 (3.0 KB) TX bytes:3064 (3.0 KB)
ppp0 Link encap:Point-to-Point Protocol
inet addr:10.100.0.57 P-t-P:192.168.1.1 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:25 errors:0 dropped:0 overruns:0 frame:0
TX packets:27 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:3016 (3.0 KB) TX bytes:18956 (18.9 KB)
root@netserver:/# cat /etc/ppp/peers/ssvyaz
remotename ssvyaz
pty "pptp --loglevel 1 192.168.1.1 --nolaunchpppd"
name mgl_pio1_30
usepeerdns
noproxyarp
noauth
nodetach
lock
#require-mschap-v2
#refuse-chap
#refuse-mschap
#refuse-eap
#refuse-pap
nomp
noipx
nobsdcomp
nodeflate
defaultroute
replacedefaultroute
noccp
Лог /var/log/messages:
May 5 15:56:55 netserver pppd[2578]: pppd 2.4.5 started by root, uid 0
May 5 15:56:55 netserver pppd[2578]: Using interface ppp0
May 5 15:56:55 netserver pppd[2578]: Connect: ppp0 <--> /dev/pts/3
May 5 15:56:56 netserver pppd[2578]: CHAP authentication succeeded
May 5 15:56:56 netserver pppd[2578]: replacing old default route to eth0 [192.168.0.50]
May 5 15:56:56 netserver pppd[2578]: local IP address 10.100.0.57
May 5 15:56:56 netserver pppd[2578]: remote IP address 192.168.1.1
May 5 15:56:56 netserver pppd[2578]: primary DNS address 192.168.2.111
May 5 15:56:56 netserver pppd[2578]: secondary DNS address 192.168.2.112
May 5 16:01:45 netserver pppd[2578]: Terminating on signal 15
May 5 16:01:45 netserver pppd[2578]: Connect time 4.9 minutes.
May 5 16:01:45 netserver pppd[2578]: Sent 18884 bytes, received 2950 bytes.
May 5 16:01:45 netserver pppd[2578]: restoring old default route to eth0 [192.168.0.50]
May 5 16:01:45 netserver pppd[2578]: Child process pptp --loglevel 1 192.168.1.1 --nolaunchpppd (pid 2580) terminated with signal 15
May 5 16:01:45 netserver pppd[2578]: Connection terminated.
May 5 16:01:46 netserver pppd[2578]: Exit.
Тут я подключился к провайдеру. Пропинговал Яндекс - разрешение есть. Потом протрейсил до Яндекса - разрешение пропало. Подключаюсь я через свой роутер - 192.168.0.50, который раздаёт адреса для внутрисети. pppoeconf не нашёл модема при непосредственном подключении к компу... правда я ещё не всё правильно тогда настроил. Почему-то Ethernet порт на материнке не подцепляет автоматическую раздачу адреса, а пот плата (eth0) спокойно подцепилась... наверное что-то там сломалось и придётся воткнуть ещё одну сетевуху.
Пошукав по рунету, я понял, что всё это враньё про простые манипуляции в линуксе. Они простыми становятся тогда, когда перелопатишь тонны макулатуры (сотни килобайт виртуальных манов).