IPFW+NAT+DHCP+PPPoE

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

IPFW+NAT+DHCP+PPPoE

Непрочитанное сообщение sklyarvi_nev » 2012-10-18 19:47:46

Всем привет!!!
Большая просьба помочь разобраться в следующем вопросе:

Дано:
FreeBSD 9.0
Локальная сеть 192.168.5.0/24
Подключение к провайдеру интернет услуг посредством PPPoE по Ethernet кабелю.

Необходимо раздать в локальной сети интернет, пользователи получают IP адреса автоматом.Также нужно настроить пере направления на устройство одной организации (на видео регистратор).
Удалось только дать всем пользователям локальной сети интернет. настроить автоматическую раздачу IP адресов.

Но Настроить пере направления на видео регистратор не получилось.И ещё очень странно но интернет на машинах локальной сети работает, а на самом сервере нет(думаю из за того, что при создании туннеля, dns сервера в файле resolv.conf автоматически замещаются).

Мои конфиги:
Ядро
machine i386
cpu I686_CPU
ident MASTERCOM
#########################################
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
options IPFIREWALL_FORWARD
options IPDIVERT
options DUMMYNET
options HZ="1000"
#########################################
makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols

options SCHED_ULE # ULE scheduler
options PREEMPTION # Enable kernel thread preemption
options INET # InterNETworking
#options INET6 # IPv6 communications protocols
options SCTP # Stream Control Transmission Protocol
options FFS # Berkeley Fast Filesystem
options SOFTUPDATES # Enable FFS soft updates support
options UFS_ACL # Support for access control lists
options UFS_DIRHASH # Improve performance on big directories
options UFS_GJOURNAL # Enable gjournal-based UFS journaling
options MD_ROOT # MD is a potential root device
#options NFSCL # New Network Filesystem Client
#options NFSD # New Network Filesystem Server
#options NFSLOCKD # Network Lock Manager
#options NFS_ROOT # NFS usable as /, requires NFSCL
options MSDOSFS # MSDOS Filesystem
options CD9660 # ISO 9660 Filesystem
options PROCFS # Process filesystem (requires PSEUDOFS)
options PSEUDOFS # Pseudo-filesystem framework
options GEOM_PART_GPT # GUID Partition Tables.
options GEOM_LABEL # Provides labelization
options COMPAT_FREEBSD4 # Compatible with FreeBSD4
options COMPAT_FREEBSD5 # Compatible with FreeBSD5
options COMPAT_FREEBSD6 # Compatible with FreeBSD6
options COMPAT_FREEBSD7 # Compatible with FreeBSD7
options SCSI_DELAY=5000 # Delay (in ms) before probing SCSI
options KTRACE # ktrace(1) support
options STACK # stack(9) support
options SYSVSHM # SYSV-style shared memory
options SYSVMSG # SYSV-style message queues
options SYSVSEM # SYSV-style semaphores
options _KPOSIX_PRIORITY_SCHEDULING # POSIX P1003_1B real-time extensions
options PRINTF_BUFR_SIZE=128 # Prevent printf output being interspersed.
options KBD_INSTALL_CDEV # install a CDEV entry in /dev
options HWPMC_HOOKS # Necessary kernel hooks for hwpmc(4)
options AUDIT # Security event auditing
options MAC # TrustedBSD MAC Framework
#options KDTRACE_HOOKS # Kernel DTrace hooks
options INCLUDE_CONFIG_FILE # Include this file in kernel
options KDB # Kernel debugger related code
options KDB_TRACE # Print a stack trace for a panic

device apic # I/O APIC

# CPU frequency control
device cpufreq

# Bus support.
device acpi
device eisa
device pci

# ATA controllers
device ahci # AHCI-compatible SATA controllers
device ata # Legacy ATA/SATA controllers
device atadisk
device atapicd
options ATA_CAM # Handle legacy controllers with CAM
options ATA_STATIC_ID # Static device numbering

# ATA/SCSI peripherals
device scbus # SCSI bus (required for ATA/SCSI)
device ch # SCSI media changers
device da # Direct Access (disks)
device sa # Sequential Access (tape etc)
device cd # CD
device pass # Passthrough device (direct ATA/SCSI access)
device ses # SCSI Environmental Services (and SAF-TE)

# atkbdc0 controls both the keyboard and the PS/2 mouse
device atkbdc # AT keyboard controller
device atkbd # AT keyboard
device psm # PS/2 mouse

device kbdmux # keyboard multiplexer

device vga # VGA video card driver

device splash # Splash screen and screen saver support

# syscons is the default console driver, resembling an SCO console
device sc
options SC_PIXEL_MODE # add support for the raster text mode

device agp # support several AGP chipsets

# Add suspend/resume support for the i8254.
device pmtimer

device puc # Multi I/O cards and multi-channel UARTs

# PCI Ethernet NICs that use the common MII bus controller code.
# NOTE: Be sure to keep the 'device miibus' line in order to use these NICs!
device miibus # MII bus support
device re # RealTek 8139C+/8169/8169S/8110S
device rl # RealTek 8129/8139
device vr # VIA Rhine, Rhine II

# Pseudo devices.
device loop # Network loopback
device random # Entropy device
device ether # Ethernet support
device vlan # 802.1Q VLAN support
device tun # Packet tunnel.
device pty # BSD-style compatibility pseudo ttys
device md # Memory "disks"
device gif # IPv6 and IPv4 tunneling
device faith # IPv6-to-IPv4 relaying (translation)
device firmware # firmware assist module

# The `bpf' device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
# Note that 'bpf' is required for DHCP.
device bpf # Berkeley packet filter

# USB support
options USB_DEBUG # enable debug msgs
device uhci # UHCI PCI->USB interface
device ohci # OHCI PCI->USB interface
device ehci # EHCI PCI->USB interface (USB 2.0)
device usb # USB Bus (required)
device uhid # "Human Interface Devices"




rc.conf
hostname="net.mastercom.net"
keymap="ru.koi8-r.kbd"
#######################Ifaces#################
network_interfaces="lo0 rl0 vr0"
ifconfig_lo0="inet 127.0.0.1"
ifconfig_rl0="DHCP media 100baseTX"
ifconfig_vr0="inet 192.168.5.250 netmask 255.255.255.0 media 100baseTX"
#######################Firewall################
firewall_enable="YES"
firewall_script="/root/firewall.sh"
#######################PPPoE###################
ppp_nat="NO"
ppp_enable="YES"
ppp_mode="ddial"
ppp_profile="pppoe"
###############################################
gateway_enable="YES"
sshd_enable="YES"
#ntpd_enable="YES"
#powerd_enable="NO"
sendmail_enable="NO"
#####################SAMBA#####################
samba_enable="YES"
nmbd_enable="YES"
smbd_enable="YES"
#####################DHCP######################
dhcpd_enable="YES"
dhcpd_flags="-q"
dhcpd_ifaces="vr0"
#####################natd#####################
natd_enable="YES"
natd_interface="tun0"
natd_flags="-dynamic -f /etc/natd.conf"
##############################################
# Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
dumpdev="AUTO"
ppp.conf
default:
set log Phase tun command
pppoe:
set device PPPoE:rl0
set authname XXXXXXXXXXXX
set authkey XXXXXXXXXXXXXX
set speed sync
set mtu 1492
set mru 1492
set ctsrts off
set timeout 0
set redial 0 0
#Link Quality Request
enable lqr
set lqrperiod 10
enable lqr echo
enable echo
set dial
set login
#enable dns
add default HISADDR
natd.conf
redirect_port tcp 192.168.5.146:8080 8080
firewall.sh
#!/bin/sh
############################
#FreeBDS 9.0 firewall script
############################
fw="/sbin/ipfw -q add"
inif="vr0"
extif="tun0"
inip="192.168.5.250"
extip="XXX.XXX.XXX.XXX"
innet="192.168.5.0/24"
skip="skipto 1000"
ks="keep-state"
good_tcpo="22,25,37,43,53,80,443,110,119"
reg1="192.168.5.146"
reg2="192.168.5.147"
##########reset##########################################
/sbin/ipfw -q -f flush
/sbin/ipfw -q -f pipe flush
/sbin/ipfw -q -f queue flush
##########allow rules####################################
$fw 002 allow all from any to any via vr0
$fw 003 allow all from any to any via lo0

$fw 100 divert natd all from any to any in via $extif
$fw 200 check-state

$fw 300 $skip udp from any 53 to $innet
$fw 320 $skip udp from $innet to any 53
$fw 360 $skip tcp from any to any 80 out via $extif setup $ks
$fw 380 $skip tcp from any to any 443 out via $extif setup $ks
$fw 400 $skip tcp from me to any out via $extif setup $ks uid root
$fw 420 $skip tcp from any to any 22 out via $extif setup $ks
$fw 440 allow icmp from any to any out via $extif $ks
Правила перенаправления
$fw 460 allow tcp from any 8080 to 192.168.5.146 8080 in via $extif
$fw 480 allow tcp from any 8080 to 192.168.5.146 8080 out via $inif

$fw 500 deny ip from any to 192.168.0.0/16 in via $extif
$fw 520 deny ip from any to 172.16.0.0/12 in via $extif
$fw 530 deny ip from any to 10.0.0.0/8 in via $extif
$fw 540 deny ip from any to 127.0.0.0/8 in via $extif
$fw 550 deny ip from any to 0.0.0.0/8 in via $extif
$fw 560 deny ip from any to 169.254.0.0/16 in via $extif
$fw 570 deny ip from any to 192.0.2.0/24 in via $extif
$fw 580 deny ip from any to 204.152.64.0/23 in via $extif
$fw 590 deny ip from any to 224.0.0.0/3 in via $extif
$fw 600 deny icmp from any to any in via $extif
$fw 620 deny tcp from any to any 113 in via $extif

$fw 640 deny tcp from any to any 137 in via $extif
$fw 650 deny tcp from any to any 138 in via $extif
$fw 660 deny tcp from any to any 139 in via $extif
$fw 670 deny tcp from any to any 81 in via $extif
$fw 700 deny all from any to any frag in via $extif
$fw 800 deny tcp from any to any established in via $extif
$fw 900 deny log ip from any to any

$fw 1000 divert natd ip from any to any out via $extif
$fw 1100 allow ip from any to any




$fw 65534 deny log all from any to any
dhcpd.conf
option domain-name "XXXXXXXXXXXX";
ВОТ С ЭТИМИ DNS адресами интернет работает
option domain-name-servers 212.96.120.5, 212.96.96.38;

default-lease-time 14400;
max-lease-time 14400;
ddns-update-style interim;
authoritative;
log-facility local7;

subnet 192.168.5.0 netmask 255.255.255.0 {
range 192.168.5.200 192.168.5.240;
option routers 192.168.5.250;
}

resolve.conf
# Generated by resolvconf
search ETTH
nameserver 77.39.126.38
nameserver 77.39.126.37
nameserver 46.61.192.15
НЕ РАБОТАЕТ ПЕРЕНАПРАВЛЕНИ
НЕ РАБОТАЕТ ИНТЕРНЕТ НА САМОМ ШЛЮЗЕ ))))
Кстати когда место машины с фрёй стоя обычный dir 300 то перенаправления я ставил на hhht порт 8080 и всё работало.
А как здесь перенаправить на hhtp порт , также из доступных это TCP 37780 , есть ещё UDP
ПОМОГИТЕ ПОЖАЛУЙСТА!!!

Хостинговая компания 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/

RAGNAR
ст. прапорщик
Сообщения: 530
Зарегистрирован: 2009-07-10 22:12:06
Откуда: Ржев
Контактная информация:

Re: IPFW+NAT+DHCP+PPPoE

Непрочитанное сообщение RAGNAR » 2012-10-19 22:58:20

1. ну начнем с того что у тебя ppp подумай в стороны mpd5 намного удобнее.
2. что касаеться resolv.conf пропиши их в ручную и накинь chflags http://vds-admin.ru/unix-commands/chflags
3. к тому же накрути свой кэшь DNS мне нравиться unbound , это будет лучше намного чем крутить dns провайдера
4. я не поклонник natd , лучше присматрись к kernel nat или на худой конец ipnat последний вообще прост в настройке.
по перенаправлению есть еще прога rinetd , работает вроде, даже на некорых машинах.

и ты правила написал неправельно , че ты им собрался перенапровлять??? есть еще fwd каманда.
$fw 460 allow tcp from any 8080 to 192.168.5.146 8080 in via $extif
$fw 480 allow tcp from any 8080 to 192.168.5.146 8080 out via $inif
... Да освятится имя твое и pасшиpение твое, Господи...

sybarite86
рядовой
Сообщения: 30
Зарегистрирован: 2012-10-18 19:23:22

Re: IPFW+NAT+DHCP+PPPoE

Непрочитанное сообщение sybarite86 » 2012-10-20 11:33:16

Кстати ещё одна беда,я даже не знаю что и делать.При выходе в интернет через шлюз Freebsd
скорость интернета падает как минимум в 2 раза и продолжает падать до 5 мб/сек .при этом сильно возрастают пинги.При подключении интернета напрямую к компьютеру скорость держится 30-31 мб/сек, пинги не растут. В чём может быть причина????

sybarite86
рядовой
Сообщения: 30
Зарегистрирован: 2012-10-18 19:23:22

Re: IPFW+NAT+DHCP+PPPoE

Непрочитанное сообщение sybarite86 » 2012-10-20 11:41:41

Согласен, обязательно посмотрю в сторону md5 и ядерного nat'a.
После настройки обязательно отпишусь и выложу новые конфиги. Если Вам не трудно подскажите, в чём может быть проблема с падением скоростью интернета???(мой вопрос чуть выше). Может проблема в том, что у меня всего 128 мегабайт оперативной памяти(узкое место)) )????Хотя раньше всё работало отлично(когда стояла freebsd 8.2).
И кстатиб всё работало отлично до того как я пере собрал ядро и запустил natd. Может Natd творит такие чудеса и проблема решится с kernel nat?????

RAGNAR
ст. прапорщик
Сообщения: 530
Зарегистрирован: 2009-07-10 22:12:06
Откуда: Ржев
Контактная информация:

Re: IPFW+NAT+DHCP+PPPoE

Непрочитанное сообщение RAGNAR » 2012-10-20 23:53:00

так.... кароче будем разбераться по хду. шлюз пропиши . поднеми dns. нарисуй как и чем дайешь пользователем... по dhcp///

вечером посмотррим
... Да освятится имя твое и pасшиpение твое, Господи...

sybarite86
рядовой
Сообщения: 30
Зарегистрирован: 2012-10-18 19:23:22

Re: IPFW+NAT+DHCP+PPPoE

Непрочитанное сообщение sybarite86 » 2012-10-23 21:21:22

Установил mpd5, добавил polling в опции ядра и включил его в sysctl.conf, также добавил опции IPFIREWALL_NAT(пока не разбирался с ядерным натом), установил rinetd. DNS кэшь пока не прикрутил, только стал изучать документацию.

Из моих проблем решились следующие: скорость интернета падать перестала, пинг в сети больше не растёт, пере направление на нужные порты заработало, интернет на самом шлюзе работает (не хватало нужных правил в firewall), resolve.conf больше не перезаписывается после каждой перезагрузки (помогло установление флагов на файл).

Появилась новая проблема!!! После перезагрузки не прописывается маршрут по умолчанию (вернее прописывается но совсем не тот ).
Приходиться вручную удалять маршрут, а потом добавлять верный. Кстати когда соединение поднималось через встроенный ppp таких проблем не было. Уверен, что всё дело в неправильных настройках mdp.conf- искал решение проблемы по данной теме, но ответ разумный никто так и не даёт.
Как вариант прописывать действия, что я проделываю в ручную (удаляю маршрут и добавляю) в скрипт с указание в файле mpd.conf строки на его запуск не подходят, так как адрес динамически меняется.
Конфиг mpd.conf
default:
load PPPoE
PPPoE:
create bundle static B1
#set iface route default
#set ipcp ranges 0.0.0.0/0 0.0.0.0/0
set ipcp enable req-pri-dns
set ipcp enable req-sec-dns

create link static L1 pppoe
set link action bundle B1
set auth authname login
set auth password pass
set link max-redial 0
set link mtu 1480
set link keep-alive 10 60
set pppoe iface rl0
set pppoe service ""
open
вывод команды ifconfig
vr0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=82808<VLAN_MTU,WOL_UCAST,WOL_MAGIC,LINKSTATE>
ether b8:a3:86:91:2f:56
inet 192.168.5.250 netmask 0xffffff00 broadcast 192.168.5.255
media: Ethernet 100baseTX
status: active
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=3808<VLAN_MTU,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
ether 00:10:5c:bf:4d:c6
inet 192.168.119.94 netmask 0xfffff000 broadcast 192.168.127.255
media: Ethernet 100baseTX
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>
inet 127.0.0.1 netmask 0xff000000
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1480
inet мой ip назначеный провайдером --> 77.39.84.20 <<--это шлюз по умолчанию он меняется после каждой перезагрузки. с ppp проблем небыло!!!! netmask 0xffffffff

Гость
проходил мимо

Re: IPFW+NAT+DHCP+PPPoE

Непрочитанное сообщение Гость » 2012-10-29 13:50:19

sybarite86 писал(а):Конфиг mpd.conf
#set iface route default
С какого перепугу закомменчено?
Убрать решётку и все дела!

sybarite86
рядовой
Сообщения: 30
Зарегистрирован: 2012-10-18 19:23:22

Re: IPFW+NAT+DHCP+PPPoE

Непрочитанное сообщение sybarite86 » 2012-11-06 16:35:52

Решётку убрал! Но проблема не решилась предложи пожалуйста другой вариант решения проблемы.

Аватара пользователя
Alvares
прапорщик
Сообщения: 485
Зарегистрирован: 2008-07-10 12:48:08
Откуда: Воронеж
Контактная информация:

Re: IPFW+NAT+DHCP+PPPoE

Непрочитанное сообщение Alvares » 2012-11-07 8:05:35

netstat -rn покажите. Может, просто маршруты руками прописать и все?
Бог создал людей сильными и слабыми. Сэмюэл Кольт сделал их равными...

sybarite86
рядовой
Сообщения: 30
Зарегистрирован: 2012-10-18 19:23:22

Re: IPFW+NAT+DHCP+PPPoE

Непрочитанное сообщение sybarite86 » 2012-11-07 19:59:34

да ручками понятно,мне так и приходится делать каждый раз после перезагрузки.но это напрягает и хочется чтобы маршрут по default автоматом цеплялся.С ppp не каких проблем не было,а вот mpd5 что то выделывается. На данный момент читаю man по mpd5 в надежде чего нибудь нарыть. Кстати такая проблема уже обсуждалась на форумах в том числе и на этом. вот только решения никто так нормального и не дал.

Аватара пользователя
Alvares
прапорщик
Сообщения: 485
Зарегистрирован: 2008-07-10 12:48:08
Откуда: Воронеж
Контактная информация:

Re: IPFW+NAT+DHCP+PPPoE

Непрочитанное сообщение Alvares » 2012-11-08 8:16:07

Ну не знаю, у меня во так реализовано. Тоже трахался с ipfw, но эта собака не понимает правил, когда интерфейса еще нет. Сделал через ipf
Прописал основные маршруты в rc.conf. Все работает, НАТит домашнюю сетку.
Вложения
etc2.tar.gz
(1.13 КБ) 36 скачиваний
Бог создал людей сильными и слабыми. Сэмюэл Кольт сделал их равными...

sybarite86
рядовой
Сообщения: 30
Зарегистрирован: 2012-10-18 19:23:22

Re: IPFW+NAT+DHCP+PPPoE

Непрочитанное сообщение sybarite86 » 2012-11-13 13:44:10

Уважаемые форумчане помогите с новой проблемой.
мой firewall.sh
#!/bin/sh
#####################################################################
##################FreeBDS 9.0 firewall script########################
#####################################################################
fw="/sbin/ipfw -q add"
inif="vr0" #local interface
outif="ng0" #inet interface
lopi="lo0" #loopback
inip="192.168.5.250" #loc addres
outip="xx.xxx.xx.xx" #net addres
innet="192.168.5.0/24" #local prefix
dnsR="212.96.120.5,212.96.96.38"
udp_ports="53,123" #ports udp
#####################################################################
clsA="10.0.0.0/8" #RFC 1918 private IP
DHCPA="169.254.0.0/16" #DHCP auto-config
clsB="172.16.0.0/12" #RFC 1918 private IP
clsC="192.168.0.0/16" #RFC 1918 private IP
mulD="224.0.0.0/4" #multicast class D address
resE="240.0.0.0/4" #reserv class E address
THL="0.0.0.0/8" #'This' Network (loopback)
TNet="192.0.2.0/24" #reserved for docs
bsrc="0.0.0.0" #broadcast source addres
bdst="255.255.255.255" #broadcast destination addres
loop="127.0.0.0/8" #loopback
sunC="204.152.64.0/23" #Sun cluster
#####################################################################
gameports="1513,1514,2900,4000,6112,6200,7456,8688,9000-9500,32768-65000"

#####################################################################
prvp='0:1023' # privilegion ports
uprv='1024:65535' # unprivilegion ports
#####################################################################
/sbin/ipfw -q -f flush
/sbin/ipfw -q -f pipe flush
/sbin/ipfw -q -f queue flush
#####################################################################
/sbin/ipfw pipe 1 config bw 1Mbit/s
/sbin/ipfw pipe 2 config bw 2Mbit/s
/sbin/ipfw pipe 3 config bw 3Mbit/s
/sbin/ipfw pipe 4 config bw 4Mbit/s
/sbin/ipfw pipe 5 config bw 5Mbit/s
/sbin/ipfw pipe 6 config bw 6Mbit/s
/sbin/ipfw pipe 7 config bw 7Mbit/s
/sbin/ipfw pipe 8 config bw 8Mbit/s
/sbin/ipfw pipe 9 config bw 9Mbit/s
/sbin/ipfw pipe 10 config bw 10Mbit/s
#privileged rate
/sbin/ipfw pipe 15 config bw 15Mbit/s
/sbin/ipfw pipe 20 config bw 20Mbit/s
#####################################################################
$fw 100 allow all from any to any via $lopi
#####################################################################
$fw 200 deny log all from any to $loop
$fw 250 deny log all from $loop to any
# Deny all inbound traffic from non-routable reserved address spaces
$fw 300 deny log ip from any to $DHCPA in via $outif
$fw 310 deny log ip from any to $THL in via $outif
$fw 320 deny log ip from any to $clsC in via $outif
$fw 330 deny log ip from any to $clsB in via $outif
$fw 340 deny log ip from any to $clsA in via $outif
$fw 350 deny log ip from any to $resE in via $outif
$fw 360 deny log ip from any to $TNet in via $outif
$fw 370 deny log ip from any to $sunC in via $outif
$fw 380 deny log ip from any to $mulD in via $outif
####################################################################
$fw 400 deny tcp from any to any 137 in via $outif
$fw 420 deny tcp from any to any 138 in via $outif
$fw 440 deny tcp from any to any 139 in via $outif
$fw 460 deny tcp from any to any 81 in via $outif
$fw 480 deny log icmp from any to any frag
$fw 500 deny log icmp from any to any in icmptype 5,9,13,14,15,16,17
$fw 520 deny log icmp from any to 255.255.255.255 in via $outif
$fw 540 deny log icmp from any to 255.255.255.255 out via $outif
####################################################################
$fw 600 divert natd all from $innet to any out via $outif
$fw 700 divert natd all from any to $outip in via $outif

$fw 710 deny log ip from $DHCPA to any out via $outif
$fw 712 deny log ip from $THL to any out via $outif
$fw 714 deny log ip from $clsC to any out via $outif
$fw 716 deny log ip from $clsB to any out via $outif
$fw 718 deny log ip from $clsA to any out via $outif
$fw 720 deny log ip from $resE to any out via $outif
$fw 722 deny log ip from $TNet to any out via $outif
$fw 724 deny log ip from $sunC to any out via $outif
$fw 726 deny log ip from $mulD to any out via $outif

$fw 800 allow tcp from any to any via $outif established

$fw 900 allow tcp from $inip,$outip to any out xmit $outif setup
$fw 920 allow tcp from me to any out xmit $outif setup uid root

$fw 1020 allow all from $innet to any out via $inif
$fw 1040 allow all from any to $innet in via $inif


$fw 1100 allow icmp from any to any icmptypes 0,3,8,11
$fw 1120 reset log tcp from any to any 113 in recv $outif

$fw 1200 allow udp from any 123 to $outip in via $outif
$fw 1220 allow udp from $innet to any 123
$fw 1240 allow udp from any 123 to $innet

$fw 1300 allow udp from $innet to any 53
$fw 1320 allow udp from any 53 to $innet
$fw 1340 allow log udp from $innet to any $gameports
$fw 1360 allow log udp from any $gameports to $innet
##################################################################################

КАКОЕ ИЗ ЭТИХ ПРАВИЛ НЕОБХОДИМО ДЛЯ РАБОТЫ КЕШИРУЮЩЕГО DNS
$fw 1365 allow udp from any to 192.168.5.250 53
$fw 1370 allow udp from 192.168.5.250 53 to any

$fw 1375 allow all from any to me domain в одной документации читал что для работы dns cache необходима эта строчка, но с ней ничего не работает

$fw 1385 allow udp from $innet 53,1024-65535 to any 53
$fw 1390 allow udp from any 53 to $innet 53,1024-65535

$fw 1400 allow udp from $outip to any out via $outif
$fw 1420 allow udp from any to $dnsR $udp_ports out via $outif
$fw 1440 allow udp from $dnsR $udp_ports to any in via $outif


####################################################################

$fw 2000 pipe 1 ip from any to 192.168.5.15 out via $inif
$fw 2020 pipe 1 ip from 192.168.5.15 to any in via $inif
$fw 2040 pipe 5 ip from any to 192.168.5.115 out via $inif
$fw 2060 pipe 5 ip from 192.168.5.115 to any in via $inif
$fw 2040 pipe 3 ip from any to 192.168.5.222 out via $inif
$fw 2060 pipe 2 ip from 192.168.5.222 to any in via $inif

####################################################################
$fw 3000 allow tcp from $innet to any in via $inif
$fw 3020 allow tcp from any to $innet out via $inif

$fw 65534 deny log all from any to any

unbound.conf
server:
verbosity: 0
num-threads: 4
interface: 0.0.0.0
# interface: 192.168.5.250
# interface: 192.0.2.154@5003
# interface: 2001:DB8::5
interface-automatic: no
port: 53
outgoing-interface: xx.xxx.xx.xx
outgoing-range: 4096
outgoing-port-permit: 32768
outgoing-port-avoid: "3200-3208"
so-rcvbuf: 4m
so-sndbuf: 4m
edns-buffer-size: 4096
msg-buffer-size: 65552
msg-cache-size: 16m
msg-cache-slabs: 4
num-queries-per-thread: 1024
rrset-cache-size: 32m
rrset-cache-slabs: 4
cache-max-ttl: 86400
infra-host-ttl: 60
infra-lame-ttl: 120
infra-cache-slabs: 4
infra-cache-numhosts: 10000
infra-cache-lame-size: 10k

# Enable IPv4, "yes" or "no".
do-ip4: yes

# Enable IPv6, "yes" or "no".
do-ip6: no

# Enable UDP, "yes" or "no".
do-udp: yes

# Enable TCP, "yes" or "no".
do-tcp: yes

access-control: 0.0.0.0/0 refuse
access-control: 127.0.0.0/8 allow
access-control: 192.168.5.0/24 allow
access-control: ::0/0 refuse
access-control: ::1 allow
access-control: ::ffff:127.0.0.1 allow

# if given, a chroot(2) is done to the given directory.
# i.e. you can chroot to the working directory, for example,
# for extra security, but make sure all files are in that directory.
#
# If chroot is enabled, you should pass the configfile (from the
# commandline) as a full path from the original root. After the
# chroot has been performed the now defunct portion of the config
# file path is removed to be able to reread the config after a reload.
#
# All other file paths (working dir, logfile, roothints, and
# key files) can be specified in several ways:
# o as an absolute path relative to the new root.
# o as a relative path to the working directory.
# o as an absolute path relative to the original root.
# In the last case the path is adjusted to remove the unused portion.
#
# The pid file can be absolute and outside of the chroot, it is
# written just prior to performing the chroot and dropping permissions.
#
# Additionally, unbound may need to access /dev/random (for entropy).
# How to do this is specific to your OS.
#
# If you give "" no chroot is performed. The path must not end in a /.
chroot: "/usr/local/etc/unbound"
directory: "/usr/local/etc/unbound"
logfile: ""
use-syslog: yes
pidfile: "/usr/local/etc/unbound/unbound.pid"
root-hints: "/usr/local/etc/unbound/named.cache"
hide-identity: yes
hide-version: yes
identity: "DNS"
version: "1.0"
harden-glue: yes
do-not-query-address: 127.0.0.1/8
do-not-query-address: ::1
do-not-query-localhost: yes
module-config: "iterator"

remote-control:
control-enable: yes
control-port: 8953
server-key-file: "/usr/local/etc/unbound/unbound_server.key"
server-cert-file: "/usr/local/etc/unbound/unbound_server.pem"
control-key-file: "/usr/local/etc/unbound/unbound_control.key"
control-cert-file: "/usr/local/etc/unbound/unbound_control.pem"
sysctl.conf
#security.bsd.see_other_uids=0
kern.polling.enable=1
kern.polling.user_frac=10
net.inet.ip.fw.one_pass=0
kern.maxfiles=20328
kern.maxfilesperproc=20095
kern.ipc.maxsockets=20328
kern.ipc.maxsockbuf=16777216 не могу понять почему после перезагрузки этот параметр устанавливает значение по умолчанию
resolve.conf
nameserver 127.0.0.1
nameserver 192.168.5.250
Выводы nslookup
#nslookup
>server 127.0.0.1
Default server : 127.0.0.1
Address : 127.0.0.1#53
>www.mail.ru
;; connection timed out; no servers could be reached


Пожалуйста помогите, не могу найти свою ошибку. Сервер unbound запущен , и слушает на 53 потру. Правда после перезагрузке приходится руками прописывать значение переменной kern.ipc.maxsockbuf=16777216 , хотя в файле sysctl.conf я её вписал.

Аватара пользователя
zikfrid
рядовой
Сообщения: 11
Зарегистрирован: 2012-03-26 10:18:33
Откуда: vrn

Re: IPFW+NAT+DHCP+PPPoE

Непрочитанное сообщение zikfrid » 2012-12-17 16:34:19

А покажи ipfw show.
Я тоже долго бился с такой связкой, только у меня статика была. Все получилось после перехода на ppp_nat. Еще как вариант попробуй убери из правил ipfw последнее запрещающее правло, для проверки:)