Настройка IPFW+NAT с PPPoE провайдером

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
ipfwnat
проходил мимо

Настройка IPFW+NAT с PPPoE провайдером

Непрочитанное сообщение ipfwnat » 2013-05-07 12:26:18

Есть такая проблема.
Настроен шлюз на FreeBSD-8.3 с 2-мя сетевыми картами. Провайдер предоставляет только pppoe подключение.
Для поднятия туннеля использовал mpd5, т.к в отличие от ppp он умеет поднимать упавшее соединение.
Соответственно есть 3 интерфейса:
ae0 - внешний
re0 - внутренний
ng0 - pppoe (mpd5)
IPFW настраиваю по статье лиссяры, вот конфиг:

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

#!/bin/sh

FwCMD="/sbin/ipfw -q " 
LanOut="ae0"            
LanIn="re0"           
PPPoE="ng0"
NetMask="24"            
NetIn="192.168.15.0"   

${FwCMD} -f flush
${FwCMD} add check-state
${FwCMD} add allow ip from any to any via lo0
${FwCMD} add deny ip from any to 127.0.0.0/8
${FwCMD} add deny ip from 127.0.0.0/8 to any

${FwCMD} add divert natd ip from ${NetIn}/${NetMask} to any out via ${PPPoE}
${FwCMD} add divert natd ip from any to ${IpOut} in via ${PPPoE}

${FwCMD} add allow tcp from any to any established
# разрешаем весь исходящий траффик (серверу-то в инет можно? :))
${FwCMD} add allow ip from ${IpOut} to any out xmit ${LanOut}

${FwCMD} add allow udp from any 53 to any via ${PPPoE}

${FwCMD} add allow ip from any to any via ${LanIn}

${FwCMD} add deny ip from any to any
Так вот все вроде работает, но есть непонятный косяк с протоколом https, а именно - при попытке авторизоваться в одноклассниках, все уходит в бесконечный тайм-аут. Хотя на других ресурсах с https (вконтакте, почта yandex) все работает.
Уже не знаю куда копать, мне эти одноклассники пофигу, конечно, но подруга будет расстроена.
И правильно ли я в nat'e прописал интерфейс pppoe - ng0, а не внешний re0?
Просто смутно представляю как происходит передача пакетов между re0 и ng0

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
baton4eg
сержант
Сообщения: 274
Зарегистрирован: 2009-10-11 14:36:35
Контактная информация:

Re: Настройка IPFW+NAT с PPPoE провайдером

Непрочитанное сообщение baton4eg » 2013-05-08 13:41:40

покажите листинг конфига mpd
"Все говорят, что у меня /dev/hands криво и я всё делаю через /dev/ass. А у меня этих файлов вообще нет!" (c)
"Я ем руками, она вилкой и ножом, я бью вилкой и ножом, она руками" (с)

ipfwnat
проходил мимо

Re: Настройка IPFW+NAT с PPPoE провайдером

Непрочитанное сообщение ipfwnat » 2013-05-08 19:52:05

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

MPD configuration file
#
# This file defines the configuration for mpd: what the
# bundles are, what the links are in those bundles, how
# the interface should be configured, various PPP parameters,
# etc. It contains commands just as you would type them
# in at the console. Lines without padding are labels. Lines
# starting with a "#" are comments.
#
# $Id: mpd.conf.sample,v 1.46 2009/04/29 11:04:17 amotin Exp $
#
#################################################################

startup:
	# configure mpd users
	set user adm c10bde1$ admin
	set user usr user
	# configure the console
	set console self 127.0.0.1 5005
	set console open
	# configure the web server
	set web self 0.0.0.0 5006
	set web open

#
default:
	load pppoe_client

pppoe_client:

	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 pppoe
	set link action bundle B1
	set auth authname user
	set auth password pass
	set link max-redial 0
	set link mtu 1492
	set link keep-alive 10 60
	set pppoe iface re0
	set pppoe service ""
	open

Аватара пользователя
baton4eg
сержант
Сообщения: 274
Зарегистрирован: 2009-10-11 14:36:35
Контактная информация:

Re: Настройка IPFW+NAT с PPPoE провайдером

Непрочитанное сообщение baton4eg » 2013-05-09 0:00:04

pppoe_client:

create bundle static B1
set iface enable tcpmssfix
set iface route default
set ipcp ranges 0.0.0.0/0 0.0.0.0/0
create link static L1 pppoe
set link action bundle B1
set auth authname user
set auth password pass
set link max-redial 0
set link mtu 1492
set link keep-alive 10 60
set pppoe iface re0
set pppoe service ""
open

Попробуйте в конфиг вставить эту строчку.
"Все говорят, что у меня /dev/hands криво и я всё делаю через /dev/ass. А у меня этих файлов вообще нет!" (c)
"Я ем руками, она вилкой и ножом, я бью вилкой и ножом, она руками" (с)

ipfwnat
проходил мимо

Re: Настройка IPFW+NAT с PPPoE провайдером

Непрочитанное сообщение ipfwnat » 2013-05-09 9:24:07

спасибо, а что это даст?
заметил, что еще не все сайты работают.

Аватара пользователя
baton4eg
сержант
Сообщения: 274
Зарегистрирован: 2009-10-11 14:36:35
Контактная информация:

Re: Настройка IPFW+NAT с PPPoE провайдером

Непрочитанное сообщение baton4eg » 2013-05-09 9:28:58

как раз поспособствует открыванию всех сайтов. Запихайте её именно под create bundle static B1
"Все говорят, что у меня /dev/hands криво и я всё делаю через /dev/ass. А у меня этих файлов вообще нет!" (c)
"Я ем руками, она вилкой и ножом, я бью вилкой и ножом, она руками" (с)

ipfwnat
проходил мимо

Re: Настройка IPFW+NAT с PPPoE провайдером

Непрочитанное сообщение ipfwnat » 2013-05-09 11:27:02

спасибо, заработало.
только вот после загрузки надо сделать

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

/etc/netstart
чтобы появился интернет.
не подскажите, как сделать, чтобы mpd не перезаписывал resolv.conf и какие порты нужно открыть для торрена?
пока стоит в конце правило:

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

ipfw add allow ip from any to any
но это не хорошо же.