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

проблема c АДСЛ, с tun0

Добавлено: 2007-04-12 12:34:54
AI
Подключаюсь
ppp -ddial <name>
по адсл мопеду, создается интерфейс tun0. Только вот все процессы, а именно named, apache и т.д. крутяться под своими учетками. Прав у них на tun0 как я понял нет, и поэтому они на этот интерфейс не цепляются.
Что делать в таком случае? У меня есть 2 варианта:
1. Пустить васех под рутом? Не дело..
2. Изменить права на tun0? А как это сделать?

Как эту проблему вообще решают?

Re: проблема c АДСЛ, с tun0

Добавлено: 2007-04-12 12:38:59
dikens3
AI писал(а):Подключаюсь
ppp -ddial <name>
по адсл мопеду, создается интерфейс tun0. Только вот все процессы, а именно named, apache и т.д. крутяться под своими учетками. Прав у них на tun0 как я понял нет, и поэтому они на этот интерфейс не цепляются.
Что делать в таком случае? У меня есть 2 варианта:
1. Пустить васех под рутом? Не дело..
2. Изменить права на tun0? А как это сделать?

Как эту проблему вообще решают?
Они вроде на все цепляются.(Т.е. не привязаны к интерфейсу)

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

# ifconfig
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1492
        inet 82.208.x.x --> 213.177.127.118 netmask 0xffffffff
        Opened by PID 416

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

# sockstat -4 | grep www
www      httpd      43168 16 tcp4   *:80                  *:*
www      httpd      43153 16 tcp4   *:80                  *:*
www      httpd      43070 16 tcp4   *:80                  *:*
www      httpd      42907 16 tcp4   *:80                  *:*
www      httpd      42712 16 tcp4   *:80                  *:*
www      httpd      42711 16 tcp4   *:80                  *:*
www      httpd      42710 16 tcp4   *:80                  *:*
www      httpd      42709 16 tcp4   *:80                  *:*
www      httpd      42708 16 tcp4   *:80                  *:*

Добавлено: 2007-04-13 13:57:56
AI
у меня тоже показывает что
*:80
*:53
а ни апач, ни днс не пашут. (проверял снаружи)
фаервол отключен ipfw add 1 pass all from any to any

Добавлено: 2007-04-13 14:45:30
dikens3
Как работает nat на PPPoE? Работает ли вообще?

rc.conf

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

# PPPoE
ppp_enable="YES"
ppp_profile="Internet"
ppp_mode="ddial"
ppp_user="root"
ppp_nat="YES"
default:

Internet:
set log Phase tun command
set device PPPoE:rl1
set authname login
set authkey password
set mru 1492
set mtu 1492
enable lqr
set lqrperiod 10
enable lqr echo
enable echo
set dial
set login
set timeout 0
set redial 0 0

# NAT
nat enable yes
nat log no
nat same_ports yes
nat unregistered_only yes
nat deny_incoming no

Добавлено: 2007-04-13 16:00:14
BAV_Lug
Я тоже помучался с натом (как раз через PPPoE ). В конце концов сделал криво, но зато работает.

1) Убрал из ppp.conf все упоминания о нате
2) Создал файлик x.natd.sh в /usr/local/etc/rc.d/ такого содержания

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

#!/bin/sh
natd -interface tun0 -f /usr/local/etc/natd.conf
В natd.conf у меня прописан редирект портов
3) Добавил в rc.conf

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

ppp_enable="YES"
ppp_mode="ddial"
ppp_profile="data" # Имя профиля в ppp.conf
Т.е. инет стартует раньше чем nat (успевает поднятся тунель) и все работает.
Но, еще раз повторюсь, решение кривое.

Добавлено: 2007-04-13 21:06:06
PSdok
а можно посмотреть
rc.firewall ?

Добавлено: 2007-04-14 16:07:56
BAV_Lug
tormozok писал(а):а можно посмотреть
rc.firewall ?
Он полностью практически основан на статье с этого сайта.
Вот что касается ната

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

LanOut="tun0"
IpOut="xx.xx.xx.xx"
....
# NAT только для внутреннего сервера 10.2.1.1
${FwCMD} add divert natd ip from 10.2.1.1 to any out via ${LanOut}
${FwCMD} add divert natd ip from any to ${IpOut} in via ${LanOut}
.....
# Ftp (на внутреннем сервере) проброс портов
${FwCMD} add allow tcp from any to ${IpOut} 21 via ${LanOut}
${FwCMD} add allow tcp from any to 10.2.1.1 21 via ${LanOut}

# Зеркало NOD32 (на внутреннем сервере) проброс портов
${FwCMD} add allow tcp from any to 10.2.1.1 9005 via ${LanOut}
${FwCMD} add allow udp from any to 10.2.1.1 9005 via ${LanOut}

Добавлено: 2007-04-15 17:55:53
PSdok
Что то не догоняю.
А разрешить работать по портам 80, 8080 ненадо?

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

	${fwcmd} add pass tcp from any to any 80
	${fwcmd} add pass tcp from any 80 to any
	${fwcmd} add pass tcp from any to any 8080
	${fwcmd} add pass tcp from any 8080 to any

Добавлено: 2007-04-15 20:46:53
BAV_Lug
tormozok писал(а):Что то не догоняю.
А разрешить работать по портам 80, 8080 ненадо?

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

	${fwcmd} add pass tcp from any to any 80
	${fwcmd} add pass tcp from any 80 to any
	${fwcmd} add pass tcp from any to any 8080
	${fwcmd} add pass tcp from any 8080 to any
Нет не надо. Хватает этих двух строк (для одной машины с адресом 10.2.1.1)

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

${FwCMD} add divert natd ip from 10.2.1.1 to any out via ${LanOut}
${FwCMD} add divert natd ip from any to ${IpOut} in via ${LanOut}