Здравствуйте. Всех с наступившим НГ, удачи Вам и здоровья.
Сразу оговорюсь – это мой первый маршрутизатор на БСД , так что не судите строго за непонимание, возможно, прописных истин.
Есть тазик PII 350 МГц 256+256+128 ram + два интерфейса realtek 8129. На данный момент цель – сделать простой шлюз который бы пропускал все и всюду, а со временем корректировать правила PF и ALTQ. Для этого пересобирал ядро с поддержкой PF и ALTQ, заодно поубирал лишние на мой взгляд устройства. Ниже привожу конфиг ядра и настройки которые менялись.
Код: Выделить всё
aquila# uname -a
FreeBSD aquila.navi 8.3-RELEASE-p5 FreeBSD 8.3-RELEASE-p5 #0: Sat Dec 29 17:19:16 EET 2012 root@aquila.navi:/usr/obj/usr/src/sys/AQUILA i386
Привожу полный конфиг ядра, просмотрите, может где-то начудил по незнанию
Код: Выделить всё
aquila# cat /usr/src/sys/i386/conf/AQUILA
cpu I686_CPU
ident AQUILA
device pf
device pflog
#device pfsync
options ALTQ
options ALTQ_CBQ
options ALTQ_RED
options ALTQ_RIO
options ALTQ_HFSC
options ALTQ_CDNR
options ALTQ_PRIQ
#hints "AQUILA.hints" # Default places to look for devices.
#env "AQUILA.env"
options SCHED_ULE # ULE scheduler
options PREEMPTION # Enable kernel thread preemption
options INET # InterNETworking
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 NFSCLIENT # Network Filesystem Client
options NFSSERVER # Network Filesystem Server
options NFSLOCKD # Network Lock Manager
options NFS_ROOT # NFS usable as /, requires NFSCLIENT
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_43TTY # BSD 4.3 TTY compat (sgtty)
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 SYSVSHM # SYSV-style shared memory
options SYSVMSG # SYSV-style message queues
options SYSVSEM # SYSV-style semaphores
options P1003_1B_SEMAPHORES # POSIX-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 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
# To make an SMP kernel, the next two lines are needed
device apic # I/O APIC
# CPU frequency control
device cpufreq
# Bus support.
device acpi
device eisa
device pci
# Floppy drives
device fdc
# ATA and ATAPI devices
device ata
device atadisk # ATA disk drives
device ataraid # ATA RAID drives
device atapicd # ATAPI CDROM drives
device atapifd # ATAPI floppy drives
device atapist # ATAPI tape drives
options ATA_STATIC_ID # Static device numbering
# 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 vga # VGA video card driver
# syscons is the default console driver, resembling an SCO console
device sc
# 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 rl # RealTek 8129/8139
# Pseudo devices.
device loop # Network loopback
device random # Entropy device
device ether # Ethernet support
device tun # Packet tunnel.
device pty # BSD-style compatibility pseudo ttys
device gif # IPv6 and IPv4 tunneling
# 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 usb # USB Bus (required)
настройки в /etc/rc.conf
Код: Выделить всё
aquila# cat /etc/rc.conf
#ifconfig_rl0="ether 00:22:b0:52:4e:ea DHCP"
ifconfig_rl1="inet 192.168.1.1 netmask 255.255.255.0"
hostname="aquila.navi"
named_enable="YES"
gateway_enable="YES"
sshd_enable="YES"
ifconfig_rl0="inet 192.168.0.100 netmask 255.255.255.0"
defaultrouter="192.168.0.1"
#keymap="ru.koi8-r"
#SysTune
clear_tmp_enable="YES"
background_fsck="NO"
#pf(packet filter)
pf_enable="YES"
pf_rules="/etc/pf.rules"
#pf_program="/sbin/pfctl"
#pf_flags=""
pflog_enable="YES"
pflog_logfile="/var/log/pflog"
#pflog_program="/sbin/pflog"
#pflog_flags=""
#pfsync_enable="NO"
#pfsync_syncdev=""
#pfsync_ifconfig=""
Настройки /etc/pf.rules
Код: Выделить всё
aquila# cat /etc/pf.rules
#ext_if="rl0"
#int_if="rl1"
#int_net="192.168.1.0/24"
icmp_types="{ echoreq, unreach }"
#set block-policy drop
#set state-policy if-bound
pass all
#pass out all keep state
#pass quick on lo0 all
pass inet proto icmp all icmp-type $icmp_types
#block all
#scrub all reassemble tcp fragment reassemble
Настройки /etc/namedb/named.conf
Менял только
listen-on { 127.0.0.1; };
на
listen-on { any; };
Код: Выделить всё
aquila# netstat -r
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default aquila UGS 0 14 rl0
localhost link#4 UH 0 0 lo0
192.168.0.0 link#2 U 0 351 rl0
192.168.0.100 link#2 UHS 0 0 lo0
192.168.1.0 link#3 U 0 4 rl1
192.168.1.1 link#3 UHS 0 0 lo0
Примерная схема конфигурации:
Проблема в том, что со Шлюз BSD я пингую как внешнюю(Шлюз Win XP) так и внутреннюю(Win XP) сеть, а вот пинг с Win XP на Шлюз Win XP и наоборот не проходит. В итоге получаю сообщение вида:
При пинге из внутренней сети
Код: Выделить всё
C:\Documents and Settings\mikie>ping i.ua
Обмен пакетами с i.ua [91.198.36.14] по 32 байт:
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Выходит что ИП i.ua мы получаем, а вот пакеты обратно не доходят
При пинге из внешней сети
Код: Выделить всё
C:\Documents and Settings\mikie>ping 192.168.1.2
Обмен пакетами с 192.168.1.2 по 32 байт:
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.
Превышен интервал ожидания для запроса.