The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"PPP&IPFW+динамический апйпи. Не могу разобраться с правилами..."
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"PPP&IPFW+динамический апйпи. Не могу разобраться с правилами..."
Сообщение от Pony emailИскать по авторуВ закладки on 28-Сен-03, 21:57  (MSK)
Господа, нужна ваша помошь. Имееться машина на диал-апе, с динамическим айпи, хотелось бы использовать её в качестве шлюза, что уже и делаеться, но на открытом файрволле(allow from any to any).
Нащёл пример конфига: http://www.freebsd.org/doc/en_US.ISO8859-1/articles/dialup-firewall/article.html, но он не работает ни фига в моём случае. Что сдесь не так и где, черт возми, вписывать xl0(сетвуха).. Обязательно ли собирать IPFW2?

__________________________________________________________________________

Firewall.conf

# Define the firewall command (as in /etc/rc.firewall) for easy
# reference.  Helps to make it easier to read.
fwcmd="/sbin/ipfw"

# Force a flushing of the current rules before we reload.
$fwcmd -f flush

# Divert all packets through the tunnel interface.
$fwcmd add divert natd all from any to any via tun0

# Allow all connections that have dynamic rules built for them,
# but deny established connections that don't have a dynamic rule.
# See ipfw(8) for details.
$fwcmd add check-state
$fwcmd add deny tcp from any to any established

# Allow all localhost connections
$fwcmd add allow tcp from me to any out via lo0 setup keep-state
$fwcmd add deny  tcp from me to any out via lo0
$fwcmd add allow ip  from me to any out via lo0 keep-state

# Allow all connections from my network card that I initiate
$fwcmd add allow tcp from me to any out xmit any setup keep-state
$fwcmd add deny  tcp from me to any
$fwcmd add allow ip from me to any out xmit any keep-state

# Everyone on the Internet is allowed to connect to the following
# services on the machine.  This example specifically allows connections
# to sshd and a webserver.
$fwcmd add allow tcp from any to me 22 in recv any setup keep-state

# This sends a RESET to all ident packets.
$fwcmd add reset log tcp from any to me 113 in recv any

# Enable ICMP: remove type 8 if you don't want your host to be pingable
$fwcmd add allow icmp from any to any icmptypes 0,3,8,11,12,13,14

# Deny all the rest.
$fwcmd add deny log ip from any to any

__________________________________________________________________________


rc.conf


# -- sysinstall generated# -- sysinstall generated deltas -- # Mon Mar 24 10:09:07 2003
# Created: Mon Mar 24 10:09:07 2003
# Enable network daemons for user convenience.
# Please make all changes to this file, not to /etc/defaults/rc.conf.
# This file now contains just the overrides from /etc/defaults/rc.conf.
domain flea.ru
nameserver 194.87.0.8
nameserver 194.87.0.9
firewall_enable="YES"
firewall_script="/etc/firewall/fwrules"
natd_enable="YES"
ppp_nat="NO"
ppp_mode="ddial"
natd_interface="tun0"
natd_flags="-dynamic"
network_interfaces="lo0 xl0"
ifconfig_lo0="inet 127.0.0.1"
ifconfig_xl0="inet 192.168.0.1 netmask 255.255.255.0"
gateway_enable="YES"
font8x14="cp866-8x14"
font8x16="cp866b-8x16"
font8x8="cp866-8x8"
hostname="flea.ru"
ifconfig_xl0="inet 192.168.0.1  netmask 255.255.255.0"
kern_securelevel_enable="NO"
keymap="ru.koi8-r"
keyrate="fast"
mousechar_start="3"
nfs_reserved_port_only="YES"
saver="daemon"
scrnmap="koi8-r2cp866"
sendmail_enable="NO"
sshd_enable="YES"
usbd_enable="NO"

__________________________________________________________________________


Ôàéë êîíôèãóðàöèè ÿäðà


#
# GENERIC -- Generic kernel configuration file for FreeBSD/i386
#
# For more information on this file, please read the handbook section on
# Kernel Configuration Files:
#
#    http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig-config.html
#
# The handbook is also available locally in /usr/share/doc/handbook
# if you've installed the doc distribution, otherwise always see the
# FreeBSD World Wide Web server (http://www.FreeBSD.org/) for the
# latest information.
#
# An exhaustive list of options and more detailed explanations of the
# device lines is also present in the ./LINT configuration file. If you are
# in doubt as to the purpose or necessity of a line, check first in LINT.
#
# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.246.2.54 2003/04/28 03:41:46 simokawa Exp $

machine i386
#cpu I386_CPU
#cpu I486_CPU
#cpu I586_CPU
cpu I686_CPU
ident GENERIC
maxusers 0

#makeoptions DEBUG=-g #Build kernel with gdb(1) debug symbols

options MATH_EMULATE #Support for x87 emulation
options INET #InterNETworking
#options INET6 #IPv6 communications protocols
options FFS #Berkeley Fast Filesystem
options FFS_ROOT #FFS usable as root device [keep this!]
options SOFTUPDATES #Enable FFS soft updates support
options UFS_DIRHASH #Improve performance on big directories
options MFS #Memory Filesystem
options MD_ROOT #MD is a potential root device
options NFS #Network Filesystem
options NFS_ROOT #NFS usable as root device, NFS required
options MSDOSFS #MSDOS Filesystem
options CD9660 #ISO 9660 Filesystem
options CD9660_ROOT #CD-ROM usable as root, CD9660 required
options PROCFS #Process filesystem
options COMPAT_43 #Compatible with BSD 4.3 [KEEP THIS!]
options SCSI_DELAY=15000 #Delay (in ms) before probing SCSI
options UCONSOLE #Allow users to grab the console
options USERCONFIG #boot -c editor
options VISUAL_USERCONFIG #visual boot -c editor
options KTRACE #ktrace(1) support
options SYSVSHM #SYSV-style shared memory
options SYSVMSG #SYSV-style message queues
options SYSVSEM #SYSV-style semaphores
options P1003_1B #Posix P1003_1B real-time extensions
options _KPOSIX_PRIORITY_SCHEDULING
options ICMP_BANDLIM #Rate limit bad replies
options KBD_INSTALL_CDEV # install a CDEV entry in /dev
options AHC_REG_PRETTY_PRINT # Print register bitfields in debug
# output.  Adds ~128k to driver.
options AHD_REG_PRETTY_PRINT # Print register bitfields in debug
# output.  Adds ~215k to driver.
options         IPFIREWALL        
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=20
options         IPDIVERT
options         TCP_DROP_SYNFIN

# To make an SMP kernel, the next two are needed
#options SMP # Symmetric MultiProcessor Kernel
#options APIC_IO # Symmetric (APIC) I/O

# To support HyperThreading, HTT is needed in addition to SMP and APIC_IO
#options HTT # HyperThreading Technology

device isa
#device eisa
device pci

# Floppy drives
device fdc0 at isa? port IO_FD1 irq 6 drq 2
device fd0 at fdc0 drive 0
#device fd1 at fdc0 drive 1
#
# If you have a Toshiba Libretto with its Y-E Data PCMCIA floppy,
# don't use the above line for fdc0 but the following one:
#device fdc0

# ATA and ATAPI devices
device ata0 at isa? port IO_WD1 irq 14
device ata1 at isa? port IO_WD2 irq 15
device ata
device atadisk # ATA disk drives
device atapicd # ATAPI CDROM drives
device atapifd # ATAPI floppy drives
device atapist # ATAPI tape drives
options ATA_STATIC_ID #Static device numbering

# SCSI Controllers
#device ahb # EISA AHA1742 family
#device ahc # AHA2940 and onboard AIC7xxx devices
#device ahd # AHA39320/29320 and onboard AIC79xx devices
#device amd # AMD 53C974 (Tekram DC-390(T))
#device isp # Qlogic family
#device mpt # LSI-Logic MPT/Fusion
#device ncr # NCR/Symbios Logic
#device sym # NCR/Symbios Logic (newer chipsets)
#options SYM_SETUP_LP_PROBE_MAP=0x40
# Allow ncr to attach legacy NCR devices when
# both sym and ncr are configured

#device adv0 at isa?
#device adw
#device bt0 at isa?
#device aha0 at isa?
#device aic0 at isa?

#device ncv # NCR 53C500
#device nsp # Workbit Ninja SCSI-3
#device stg # TMC 18C30/18C50

# SCSI peripherals
device scbus # SCSI bus (required)
device da # Direct Access (disks)
#device sa # Sequential Access (tape etc)
#device cd # CD
#device pass # Passthrough device (direct SCSI access)

# RAID controllers interfaced to the SCSI subsystem
#device asr # DPT SmartRAID V, VI and Adaptec SCSI RAID
#device dpt # DPT Smartcache - See LINT for options!
#device iir # Intel Integrated RAID
#device mly # Mylex AcceleRAID/eXtremeRAID
#device ciss # Compaq SmartRAID 5* series

# RAID controllers
#device aac # Adaptec FSA RAID, Dell PERC2/PERC3
#device aacp # SCSI passthrough for aac (requires CAM)
#device ida # Compaq Smart RAID
#device amr # AMI MegaRAID
#device mlx # Mylex DAC960 family
#device twe # 3ware Escalade

# atkbdc0 controls both the keyboard and the PS/2 mouse
device atkbdc0 at isa? port IO_KBD
device atkbd0 at atkbdc? irq 1 flags 0x1
device psm0 at atkbdc? irq 12

device vga0 at isa?

# splash screen/screen saver
pseudo-device splash

# syscons is the default console driver, resembling an SCO console
device sc0 at isa? flags 0x100

# Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver
#device vt0 at isa?
#options XSERVER # support for X server on a vt console
#options FAT_CURSOR # start with block cursor
# If you have a ThinkPAD, uncomment this along with the rest of the PCVT lines
#options PCVT_SCANSET=2 # IBM keyboards are non-std

device agp # support several AGP chipsets

# Floating point support - do not disable.
device npx0 at nexus? port IO_NPX irq 13

# Power management support (see LINT for more options)
device apm0 at nexus? disable flags 0x20 # Advanced Power Management

# PCCARD (PCMCIA) support
#device card
#device pcic0 at isa? irq 0 port 0x3e0 iomem 0xd0000
#device pcic1 at isa? irq 0 port 0x3e2 iomem 0xd4000 disable

# Serial (COM) ports
device sio0 at isa? port IO_COM1 flags 0x10 irq 4
device sio1 at isa? port IO_COM2 irq 3
device sio2 at isa? disable port IO_COM3 irq 5
device sio3 at isa? disable port IO_COM4 irq 9

# Parallel port
device ppc0 at isa? irq 7
device ppbus # Parallel port bus (required)
device lpt # Printer
device plip # TCP/IP over parallel
device ppi # Parallel port interface device
#device vpo # Requires scbus and da


# PCI Ethernet NICs.
#device de # DEC/Intel DC21x4x (``Tulip'')
#device em # Intel PRO/1000 adapter Gigabit Ethernet Card (``Wiseman'')
#device txp # 3Com 3cR990 (``Typhoon'')
#device vx # 3Com 3c590, 3c595 (``Vortex'')

# 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 dc # DEC/Intel 21143 and various workalikes
#device fxp # Intel EtherExpress PRO/100B (82557, 82558)
#device pcn # AMD Am79C97x PCI 10/100 NICs
#device rl # RealTek 8129/8139
#device sf # Adaptec AIC-6915 (``Starfire'')
#device sis # Silicon Integrated Systems SiS 900/SiS 7016
#device ste # Sundance ST201 (D-Link DFE-550TX)
#device tl # Texas Instruments ThunderLAN
#device tx # SMC EtherPower II (83c170 ``EPIC'')
#device vr # VIA Rhine, Rhine II
#device wb # Winbond W89C840F
device xl # 3Com 3c90x (``Boomerang'', ``Cyclone'')
#device bge # Broadcom BCM570x (``Tigon III'')

# ISA Ethernet NICs.
# 'device ed' requires 'device miibus'
#device ed0 at isa? disable port 0x280 irq 10 iomem 0xd8000
#device ex
#device ep
#device fe0 at isa? disable port 0x300
# Xircom Ethernet
#device xe
# PRISM I IEEE 802.11b wireless NIC.
#device awi
# WaveLAN/IEEE 802.11 wireless NICs. Note: the WaveLAN/IEEE really
# exists only as a PCMCIA device, so there is no ISA attachment needed
# and resources will always be dynamically assigned by the pccard code.
#device wi
# Aironet 4500/4800 802.11 wireless NICs. Note: the declaration below will
# work for PCMCIA and PCI cards, as well as ISA cards set to ISA PnP
# mode (the factory default). If you set the switches on your ISA
# card for a manually chosen I/O address and IRQ, you must specify
# those parameters here.
#device an
# The probe order of these is presently determined by i386/isa/isa_compat.c.
device ie0 at isa? disable port 0x300 irq 10 iomem 0xd0000
#device le0 at isa? disable port 0x300 irq 5 iomem 0xd0000
device lnc0 at isa? disable port 0x280 irq 10 drq 0
device cs0 at isa? disable port 0x300
device sn0 at isa? disable port 0x300 irq 10

# Pseudo devices - the number indicates how many units to allocate.
pseudo-device loop 1 # Network loopback
pseudo-device ether 1 # Ethernet support
pseudo-device sl 1 # Kernel SLIP
pseudo-device ppp # Kernel PPP
pseudo-device tun 1 # Packet tunnel.
pseudo-device pty # Pseudo-ttys (telnet etc)
pseudo-device md # Memory "disks"
pseudo-device gif # IPv6 and IPv4 tunneling
pseudo-device faith # IPv6-to-IPv4 relaying (translation)

# The `bpf' pseudo-device enables the Berkeley Packet Filter.
# Be aware of the administrative consequences of enabling this!
pseudo-device bpf #Berkeley packet filter

# USB support
#device uhci # UHCI PCI->USB interface
#device ohci # OHCI PCI->USB interface
#device usb # USB Bus (required)
#device ugen # Generic
#device uhid # "Human Interface Devices"
#device ukbd # Keyboard
#device ulpt # Printer
#device umass # Disks/Mass storage - Requires scbus and da
#device ums # Mouse
#device uscanner # Scanners
#device urio # Diamond Rio MP3 Player
# USB Ethernet, requires mii
#device aue # ADMtek USB ethernet
#device cue # CATC USB ethernet
#device kue # Kawasaki LSI USB ethernet

# FireWire support
#device firewire # FireWire bus code
#device sbp # SCSI over FireWire (Requires scbus and da)
#device fwe # Ethernet over FireWire (non-standard!)

__________________________________________________________________________

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "PPP&IPFW+динамический апйпи. Не могу разобраться с правилами..."
Сообщение от dev emailИскать по авторуВ закладки on 04-Окт-03, 17:34  (MSK)
Мне понравились вот эти правила :)

>$fwcmd add deny tcp from any to any established
>$fwcmd add deny  tcp from me to any out via lo0
>$fwcmd add deny  tcp from me to any

Гарантированно зарезать все соединения :)

Приведу свои правила - все работает:

# Firewall rules
# Marc Silver + FreeBSD Example

# Define the firewall command
fwcmd="/sbin/ipfw -q"

# Set nets and interfaces
iif="xl0"               # internal interface
inet="192.168.0.0"      # internal net
imask="255.255.255.0"   # interfal net mask
oif="tun0"              # interface to Internet (tun0 for ppp)

# Force a flushing of the current rules before we reload.
$fwcmd -f flush
    
# Count Internet traffic
${fwcmd} add 100 count ip from any to any in via tun0
${fwcmd} add 100 count ip from any to any out via tun0

# Allow DHCP requests
${fwcmd} add 200 allow udp from 0.0.0.0 to 255.255.255.255 in via ${iif}

# Stop spoofing
${fwcmd} add 1110 deny log all from ${inet}:${imask} to any in via ${oif}
${fwcmd} add 1120 deny log all from not ${inet}:${imask} to any in via ${iif}

# Stop RFC1918 nets on the outside interface
${fwcmd} add 1210 deny log all from any to 10.0.0.0/8 via ${oif}
${fwcmd} add 1220 deny log all from any to 172.16.0.0/12 via ${oif}
${fwcmd} add 1230 deny log all from any to 192.168.0.0/16 via ${oif}

# Stop draft-manning-dsua-03.txt (1 May 2000) nets (includes RESERVED-1,
# DHCP auto-configuration, NET-TEST, MULTICAST (class D), and class E)
# on the outside interface
${fwcmd} add 1310 deny log all from any to 0.0.0.0/8 via ${oif}
${fwcmd} add 1320 deny log all from any to 169.254.0.0/16 via ${oif}
${fwcmd} add 1330 deny log all from any to 192.0.2.0/24 via ${oif}
${fwcmd} add 1340 deny log all from any to 224.0.0.0/4 via ${oif}
${fwcmd} add 1350 deny log all from any to 240.0.0.0/4 via ${oif}

# Divert all packets through the tunnel interface.
$fwcmd add 2000 divert natd all from any to any via ${oif}
    
# Stop RFC1918 nets on the outside interface
${fwcmd} add 3110 deny log all from 10.0.0.0/8 to any via ${oif}
${fwcmd} add 3120 deny log all from 172.16.0.0/12 to any via ${oif}
${fwcmd} add 3130 deny log all from 192.168.0.0/16 to any via ${oif}

# Stop draft-manning-dsua-03.txt (1 May 2000) nets (includes RESERVED-1,
# DHCP auto-configuration, NET-TEST, MULTICAST (class D), and class E)
# on the outside interface
${fwcmd} add 3210 deny log all from 0.0.0.0/8 to any via ${oif}
${fwcmd} add 3220 deny log all from 169.254.0.0/16 to any via ${oif}
${fwcmd} add 3230 deny log all from 192.0.2.0/24 to any via ${oif}
${fwcmd} add 3240 deny log all from 224.0.0.0/4 to any via ${oif}
${fwcmd} add 3250 deny log all from 240.0.0.0/4 to any via ${oif}

# Allow all data from our network card and localhost.
$fwcmd add 4100 allow ip from any to any via lo0
$fwcmd add 4200 allow ip from any to any via ${iif}
    
# Allow all connections that we initiate.
$fwcmd add 6000 allow tcp from any to any out xmit ${oif} setup
    
# Once connections are made, allow them to stay open.
$fwcmd add 6100 allow tcp from any to any via ${oif} established
    
# Allow IP fragments to pass through
${fwcmd} add 6200 pass all from any to any frag

# This sends a RESET to ident packets known mail servers.
$fwcmd add 8010 reset tcp from 123.123.123.123 to any 113 in recv ${oif}
    
# Allow DNS queries out in the world (and the answers)
$fwcmd add 9110 pass udp from any to any 53 via ${oif} keep-state
$fwcmd add 9120 pass udp from any to any 2500 in recv ${oif}

# Allow NTP
$fwcmd add 9210 allow udp from any to 231.231.231.231 123 out xmit ${oif}
$fwcmd add 9240 allow udp from 231.231.231.231 123 to any in recv ${oif}

# Allow ICMP (for ping and traceroute to work), but deny input ping
$fwcmd add 10110 deny      icmp from any to any in  recv ${oif} icmptypes 8
$fwcmd add 10120 deny  log icmp from any to any out xmit ${oif} icmptypes 0
$fwcmd add 10130 allow     icmp from any to any

# Deny all the rest.
$fwcmd add 65000 deny ip from any to any

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру