PDA

Просмотр полной версии : FreeBSD+mpd5


Alexey_VIP
07-11-2008, 18:14
Думаю, boco, сможет помочь.
как настроить mpd5 для уфанета? то есть интересует скрипт DHCP, который будет автоматом прописывать маршрутизацию до шлюза, той подсети, которую мне выдал DHCP уфанета.

boco
07-11-2008, 18:18
непонятно, при чем тут вообще мпд? какая задача решается? своими словами.

Alexey_VIP
07-11-2008, 18:20
vpn подключение к уфанету. mpd-client

boco
07-11-2008, 18:22
какую задачу решаете?

Alexey_VIP
07-11-2008, 18:23
фряха, в качестве домашнего роутера

boco
07-11-2008, 18:26
а что именно не получается?

WaZZuP
07-11-2008, 18:31
эээ если правила для форвардинга пакетов то ведь можно в правилах указывать не ип а интерфейс внешний

Alexey_VIP
07-11-2008, 18:33
rc.conf
ifconfig_rl0="inet 10.68.41.254 netmask 255.255.255.0"
static_routes="vpn"
route_vpn="10.8.0.1 10.68.41.1"

я думаю, неверно себе статику прописывать?

Alexey_VIP
07-11-2008, 18:34
поподробнее плизззз

WaZZuP
07-11-2008, 18:40
указать в правилах для nat
то адреса внутренней сети должны транслироваться на интерфейс выданный mpd

Alexey_VIP
07-11-2008, 18:45
nat не включен, траффик через сквид идет

WaZZuP
07-11-2008, 18:45

Alexey_VIP
07-11-2008, 18:46
и потом, сама фря не видет шлюз, ping ya.ru не резолвится

WaZZuP
07-11-2008, 18:47
через сквид тебе вообще маршрутизацию не надо настраивать :rolleyes:

только настроить мпд клиент чтоб он от мпд сервера получал
сетевые настройки
а далше если у тебя на компе с фряхой будет инет то и те кто сидит через сквид тоже будт иметь доступ к инету

Alexey_VIP
07-11-2008, 18:49
во! совершенно верно! вопрос, как это сделать?

najar
07-11-2008, 18:49
iptables во фре - это круто, да?

WaZZuP
07-11-2008, 18:51
я для примера привел
для того чтоб принцип действия показать :rolleyes:


а для сквида должно хватить и вот этого

http://ufaman.ru/internet/homenet/ho...nfreebsd.shtml

Alexey_VIP
07-11-2008, 18:55
это для mpd4,
для mpd5 вот тут более-менее разжевано, но только вариант со статикой в локалке, меня это не устраивает, хочу чтоб DHCP маршрут раскидывал
http://forum.ufanet.ru/mvnforum/view...d=23513#931433

boco
07-11-2008, 18:55
неверно.

нужно так:
# cat /etc/rc.conf
# cat /etc/dhclient.conf
ключевой момент - "request static-routes".
дополнительное чтение: man dhclient и все see also в нем.

Alexey_VIP
07-11-2008, 19:01
счаз попробую

Alexey_VIP
07-11-2008, 19:17
неа, толи я тупой, толи лыжи не едут

Alexey_VIP
07-11-2008, 19:21
rc.conf
ifconfig_rl0="DHCP"
dhcpd_conf="/etc/dhclient.conf"

dhclient.conf
# $FreeBSD: src/etc/dhclient.conf,v 1.3 2001/10/27 03:14:37 rwatson Exp $
#
# This file is required by the ISC DHCP client.
# See ``man 5 dhclient.conf'' for details.
#
# In most cases an empty file is sufficient for most people as the
# defaults are usually fine.
#
interface "rl0" {
request subnet-mask, broadcast-address, routers, domain-name-servers, domain-name, static-routes;
}

mpd.log
Nov 7 20:12:11 alex mpd: IPADDR 92.50.181.204
Nov 7 20:12:11 alex mpd: [B1] IPCP: state change Ack-Sent --> Opened
Nov 7 20:12:11 alex mpd: [B1] IPCP: LayerUp
Nov 7 20:12:11 alex mpd: 92.50.181.204 -> 10.8.0.8
Nov 7 20:12:11 alex mpd: [B1] IFACE: Add route 0.0.0.0/0 10.8.0.8 failed: File exists
Nov 7 20:12:11 alex mpd: [B1] IFACE: Up event

boco
07-11-2008, 20:03
нужно двигаться последовательно. сначала - dhcp. маршруты все получили по дхцп?

Alexey_VIP
07-11-2008, 20:05
dhclient.leases.rl0

lease {
interface "rl0";
fixed-address 10.68.41.43;
option subnet-mask 255.255.255.0;
option routers 10.68.41.1;
option domain-name-servers 10.8.3.1;
option domain-name "ufanet.ru";
option static-routes 10.8.3.1 10.68.41.1,10.8.2.1 10.68.41.1,10.8.0.1 10.68.41.1;
option dhcp-lease-time 3600;
option dhcp-message-type 5;
option dhcp-server-identifier 10.68.41.1;
renew 5 2008/11/7 15:42:02;
rebind 5 2008/11/7 16:04:32;
expire 5 2008/11/7 16:12:02;

boco
07-11-2008, 20:36
netstat -rn

Alexey_VIP
07-11-2008, 20:47
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 10.68.41.1 UGS 0 0 rl0
10.8.0.1 10.68.41.1 UGHS 0 689 rl0
10.8.0.8 94.41.24.85 UH 0 0 ng0
10.8.2.1 10.68.41.1 UGHS 0 0 rl0
10.8.3.1 10.68.41.1 UGHS 0 6 rl0
10.68.41/24 link#1 UC 0 0 rl0
10.68.41.1 00:0d:88:d7:4b:21 UHLW 5 0 rl0 1071
94.41.24.85 127.0.0.1 UH 0 0 lo0
127.0.0.1 127.0.0.1 UH 0 0 lo0
192.168.0 link#3 UC 0 0 rl1
192.168.0.1 00:c0:26:ac:68:e2 UHLW 1 4 lo0
192.168.0.183 00:80:48:1e:25:d7 UHLW 1 186 rl1 1191

Alexey_VIP
07-11-2008, 20:52
черт побери, не могу привести к более читабельному виду

boco
07-11-2008, 21:22
с маршрутами все в порядке. теперь нужно показать конфиг мпд и логи.

Alexey_VIP
07-11-2008, 21:27
mpd.conf
startup:
# set user root
set console self 127.0.0.1 5005
set console open
set web self 127.0.0.1 5006
set web open
default:
load dialup
dialup:
create bundle static B1
set iface route default
set ipcp ranges 0.0.0.0/0 0.0.0.0/0
create link static L1 pptp
set link action bundle B1
set link accept chap
set auth authname "XXXXXXX"
set auth password "YYYYY"
set link max-redial 0
set link mtu 1460
set link keep-alive 20 75
set pptp peer 10.8.0.1
set pptp disable windowing
open

boco
07-11-2008, 21:31
я бы вместо "set iface route default" сделал up-scripl и down-scripl, где перекидывал бы дефолт + ставил бы schg на /etc/resolv.conf

http://mpd.sourceforge.net/doc/mpd25.html#25

Alexey_VIP
07-11-2008, 21:44
mpd.log

Nov 7 22:45:36 alex mpd: AUTHPROTO CHAP MD5
Nov 7 22:45:36 alex mpd: [L1] LCP: state change Ack-Rcvd --> Opened
Nov 7 22:45:36 alex mpd: [L1] LCP: auth: peer wants CHAP, I want nothing
Nov 7 22:45:36 alex mpd: [L1] LCP: LayerUp
Nov 7 22:45:36 alex mpd: [L1] CHAP: rec'd CHALLENGE #1
Nov 7 22:45:36 alex mpd: Name: ""
Nov 7 22:45:36 alex mpd: Using authname "ХХХХ"
Nov 7 22:45:36 alex mpd: [L1] CHAP: sending RESPONSE len:22
Nov 7 22:45:37 alex mpd: [L1] CHAP: rec'd SUCCESS #1
Nov 7 22:45:37 alex mpd: MESG: Welcome
Nov 7 22:45:37 alex mpd: [L1] LCP: authorization successful
Nov 7 22:45:37 alex mpd: [L1] Matched link action 'bundle "B1" ""'
Nov 7 22:45:37 alex mpd: [B1] Bundle up: 1 link, total bandwidth 64000 bps
Nov 7 22:45:37 alex mpd: [B1] IPCP: Open event
Nov 7 22:45:37 alex mpd: [B1] IPCP: state change Initial --> Starting
Nov 7 22:45:37 alex mpd: [B1] IPCP: LayerStart
Nov 7 22:45:37 alex mpd: [B1] IPCP: Up event
Nov 7 22:45:37 alex mpd: [B1] IPCP: state change Starting --> Req-Sent
Nov 7 22:45:37 alex mpd: [B1] IPCP: SendConfigReq #1
Nov 7 22:45:37 alex mpd: IPADDR 0.0.0.0
Nov 7 22:45:37 alex mpd: COMPPROTO VJCOMP, 16 comp. channels, no comp-cid
Nov 7 22:45:37 alex mpd: [B1] IPCP: rec'd Configure Request #32 (Req-Sent)
Nov 7 22:45:37 alex mpd: IPADDR 10.8.0.8
Nov 7 22:45:37 alex mpd: 10.8.0.8 is OK
Nov 7 22:45:37 alex mpd: [B1] IPCP: SendConfigAck #32
Nov 7 22:45:37 alex mpd: IPADDR 10.8.0.8
Nov 7 22:45:37 alex mpd: [B1] IPCP: state change Req-Sent --> Ack-Sent
Nov 7 22:45:37 alex mpd: [B1] IPCP: rec'd Configure Reject #1 (Ack-Sent)
Nov 7 22:45:37 alex mpd: COMPPROTO VJCOMP, 16 comp. channels, no comp-cid
Nov 7 22:45:37 alex mpd: [B1] IPCP: SendConfigReq #2
Nov 7 22:45:37 alex mpd: IPADDR 0.0.0.0
Nov 7 22:45:37 alex mpd: [L1] AUTH: Accounting-Thread started
Nov 7 22:45:37 alex mpd: [L1] AUTH: Accounting-Thread finished normally
Nov 7 22:45:37 alex mpd: [B1] IPCP: rec'd Configure Nak #2 (Ack-Sent)
Nov 7 22:45:37 alex mpd: IPADDR 92.50.183.221
Nov 7 22:45:37 alex mpd: 92.50.183.221 is OK
Nov 7 22:45:37 alex mpd: [B1] IPCP: SendConfigReq #3
Nov 7 22:45:37 alex mpd: IPADDR 92.50.183.221
Nov 7 22:45:37 alex mpd: [B1] IPCP: rec'd Configure Ack #3 (Ack-Sent)
Nov 7 22:45:37 alex mpd: IPADDR 92.50.183.221
Nov 7 22:45:37 alex mpd: [B1] IPCP: state change Ack-Sent --> Opened
Nov 7 22:45:37 alex mpd: [B1] IPCP: LayerUp
Nov 7 22:45:37 alex mpd: 92.50.183.221 -> 10.8.0.8
Nov 7 22:45:37 alex mpd: [B1] IFACE: Add route 0.0.0.0/0 10.8.0.8 failed: File exists
Nov 7 22:45:37 alex mpd: [B1] IFACE: Up event

Alexey_VIP
07-11-2008, 21:47
set iface up-scripl scripl
set iface down-scripl scripl


так?
а дальше? можно подробнее?

boco
07-11-2008, 22:07
конечно можно. $80/час =)

в документации, ссылку на которую я дал, указано, какие параметры передаются в скрипты.

в up-scripl нужно:
1. сохранить текущий дефолт куда-нибудь для последующего восстановления
2. сменить дефолт на remote-ip
3. chflags schg /etc/resolv.conf

в down-scripl - проделать обратные действия:
1. chflags noschg /etc/resolv.conf
2. (по месту) восстановить /etc/resolv.conf
3. вернуть сохраненный дефолт.

man route, man chflags, man sh

Alexey_VIP
07-11-2008, 22:11
а $80/час делится на четыре? за 15 минут успеем? :D

ЗЫ. спасибо, дальше наверное разберуся.