вторник, 14 мая 2019 г.

Sendmail



Вы можете просмотреть MX записи для любого домена с помощью команды host(1):

% host -t mx FreeBSD.org
FreeBSD.org mail is handled (pri=10) by mx1.FreeBSD.org
 

четверг, 2 мая 2019 г.

Синхронизация времени через интернет в FreeBSD

Как осуществить синхронизацию времени на сервере FreeBSD с серверами точного времени в интернете?

Можно сделать это разово вручную:

# /usr/sbin/ntpdate -u 1.pool.ntp.org
или
# ntpdate 1.pool.ntp.org


Чтобы время синхронизировалось при запуске системы, прописываем нужные строчки в

/etc/rc.conf :
ntpdate_enable="YES"
ntpdate_program="/usr/sbin/ntpdate"
ntpdate_flags="-u 1.pool.ntp.org 2.pool.ntp.org"

В дополнение к этому, можно в крон поставить задание, синхронизировать время, например, 2 раза в сутки. Правим файл cron:
# ee /var/cron/tabs/
или
# ee /etc/crontab
И добавляем туда задание:
* */12 * * *     /usr/sbin/ntpdate 1.pool.ntp.org 
 
________________________________________________________________

Если хотите, чтобы в памяти висел демон, который будет обновлять время, то это можно сделать.

Демон называется NTPd.
Добавляем в /etc/rc.conf :
ntpd_enable="YES"
ntpd_program="/usr/sbin/ntpd"
ntpd_flags="-p /var/run/ntpd.pid"

Правим /etc/ntp.conf :
 
# Сервера для обновления
server 1.pool.ntp.org prefer
server 2.pool.ntp.org
server 0.pool.ntp.org driftfile /var/db/ntp.drift
logfile /var/log/ntp.log
restrict 127.0.0.1
restrict 0.pool.ntp.org noquery notrap # Разрешаем изменять наше время
restrict 1.pool.ntp.org noquery notrap
restrict 2.pool.ntp.org noquery notrap

Стартуем демон:
# /etc/rc.d/ntpd start

понедельник, 30 мая 2011 г.

Сканер портов nmap

Иногда нужно бывает по-быстрому проверить работу firewall - какой трафик пропускается, а какой нет.

Самый быстрый, грубый и неточный способ - это просканировать порты :)

Сканер портов nmap
Ставим приложение nmap


cd /usr/ports/security/nmap
make install

После инсталяции запускаем его, эта команда просканирует порты занимаемые наиболее распространенными сервисами:


nmap -vv -n -F TARGET_IP

Если вам нужно просканировать конкретный порт или диапазон портов (скажем с 1 по 1024)


nmap -vv -n -p 1-1024 TARGET_IP

суббота, 14 мая 2011 г.

Ближайшие зеркала

cd /usr/ports/sysutil/fastest-cvsup
make install clean

rehash

fastest_cvsup -c ua

**********************
обновляем исходники
**********************

**********************
обновляем мани
**********************

**********************
обновляем порты
**********************

четверг, 12 мая 2011 г.

Kernel_NAT+IPFW

Ядро по умолчанию в FreeBSD – GENERIC. Каждый собирет ядро под свои нужды, под свое оборудование и т.д. Убрав лишние для себя опции можно значительно уменьшить размер ядра, тем самым улучшить производительность сервера.

В этой статье я приведу пример своего конфига ядра. 

Сохраним копию оригинального конфига

mx# cp /usr/src/sys/i386/conf/GENERIC /usr/src/sys/i386/conf/asyzone

Теперь приступим к редактированию своего файла, в моем примере – asyzone

mx# ee /usr/src/sys/i386/conf/asyzone

Все ненужное для себя я закомментировал. Мой конфиг выглядит так:

###############################
#ASY_kernel configuration file#
###############################
# $FreeBSD: src/sys/i386/conf/GENERIC,v 1.519.2.12.2.1 2010/12/21 17:09:25 kensmith Exp $

#cpu  I486_CPU
#cpu  I586_CPU
cpu  I686_CPU
ident  ASY_kernel

# To statically compile in device wiring instead of /boot/device.hints
#hints  "GENERIC.hints"  # Default places to look for devices.

# Use the following to compile in values accessible to the kernel
# through getenv() (or kenv(1) in userland). The format of the file
# is 'variable=value', see kenv(1)
#
# env  "GENERIC.env"

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  NFSCLIENT  # Network Filesystem Client
options  NFSSERVER  # Network Filesystem Server
options  NFSLOCKD  # Network Lock Manager
options  NFS_ROOT  # NFS usable as /, requires NFSCLIENT
#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_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  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  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  AUDIT   # Security event auditing
options  MAC   # TrustedBSD MAC Framework
options  FLOWTABLE  # per-cpu routing cache
#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

# ASY personal options
options IPFIREWALL   # Включаем фаерволл
options IPFIREWALL_VERBOSE  # Включаем логирование для фаерволла
options IPFIREWALL_VERBOSE_LIMIT=1000 # Ограничиваем логи кол-вом строк (1000)
options IPFIREWALL_NAT   # Включаем поддержку kernel NAT
options IPFIREWALL_FORWARD  # Изменение назнчения пакетов
options IPFIREWALL_DEFAULT_TO_ACCEPT # Правило по умолчанию
options LIBALIAS   # Необходимо для kernel NAT
options ROUTETABLES=2   # Поддержка двух таблиц маршрутизации
options DUMMYNET   # Для Kernel NAT + Ограничение пропускной способности
options HZ="1000"   # Для DUMMYNET

# To make an SMP kernel, the next two lines are needed
#options  SMP   # Symmetric MultiProcessor Kernel
#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

# SCSI Controllers
#device  ahb   # EISA AHA1742 family
#device  ahc   # AHA2940 and onboard AIC7xxx devices
#options  AHC_REG_PRETTY_PRINT # Print register bitfields in debug
     # output.  Adds ~128k to driver.
#device  ahd   # AHA39320/29320 and onboard AIC79xx devices
#options  AHD_REG_PRETTY_PRINT # Print register bitfields in debug
     # output.  Adds ~215k to driver.
#device  amd   # AMD 53C974 (Tekram DC-390(T))
#device  hptiop   # Highpoint RocketRaid 3xxx series
#device  isp   # Qlogic family
#device  ispfw   # Firmware for QLogic HBAs- normally a module
#device  mpt   # LSI-Logic MPT-Fusion
#device  ncr   # NCR/Symbios Logic
#device  sym   # NCR/Symbios Logic (newer chipsets + those of `ncr')
#device  trm   # Tekram DC395U/UW/F DC315U adapters

#device  adv   # Advansys SCSI adapters
#device  adw   # Advansys wide SCSI adapters
#device  aha   # Adaptec 154x SCSI adapters
#device  aic   # Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
#device  bt   # Buslogic/Mylex MultiMaster SCSI adapters

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

# SCSI peripherals
device  scbus   # SCSI bus (required for 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 SCSI access)
#device  ses   # SCSI Environmental Services (and SAF-TE)

# RAID controllers interfaced to the SCSI subsystem
#device  amr   # AMI MegaRAID
#device  arcmsr   # Areca SATA II RAID
#device  asr   # DPT SmartRAID V, VI and Adaptec SCSI RAID
#device  ciss   # Compaq Smart RAID 5*
#device  dpt   # DPT Smartcache III, IV - See NOTES for options
#device  hptmv   # Highpoint RocketRAID 182x
#device  hptrr   # Highpoint RocketRAID 17xx, 22xx, 23xx, 25xx
#device  iir   # Intel Integrated RAID
#device  ips   # IBM (Adaptec) ServeRAID
#device  mly   # Mylex AcceleRAID/eXtremeRAID
#device  twa   # 3ware 9000 series PATA/SATA RAID

# RAID controllers
#device  aac   # Adaptec FSA RAID
#device  aacp   # SCSI passthrough for aac (requires CAM)
#device  ida   # Compaq Smart RAID
#device  mfi   # LSI MegaRAID SAS
#device  mlx   # Mylex DAC960 family
#device  pst   # Promise Supertrak SX6000
#device  twe   # 3ware ATA RAID

# 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

device  agp   # support several AGP chipsets

# Power management support (see NOTES for more options)
#device  apm
# Add suspend/resume support for the i8254.
#device  pmtimer

# PCCARD (PCMCIA) support
# PCMCIA and cardbus bridge support
#device  cbb   # cardbus (yenta) bridge
#device  pccard   # PC Card (16-bit) bus
#device  cardbus   # CardBus (32-bit) bus

# Serial (COM) ports
#device  uart   # Generic UART driver

# Parallel port
#device  ppc
#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

# If you've got a "dumb" serial or parallel PCI card that is
# supported by the puc(4) glue driver, uncomment the following
# line to enable it (connects to sio, uart and/or ppc drivers):
#device  puc

# PCI Ethernet NICs.
#device  de   # DEC/Intel DC21x4x (``Tulip'')
#device  em   # Intel PRO/1000 Gigabit Ethernet Family
#device  igb   # Intel PRO/1000 PCIE Server Gigabit Family
#device  ixgb   # Intel PRO/10GbE Ethernet Card
#device  le   # AMD Am7900 LANCE and Am79C9xx PCnet
#device  ti   # Alteon Networks Tigon I/II gigabit Ethernet
#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  ae   # Attansic/Atheros L2 FastEthernet
#device  age   # Attansic/Atheros L1 Gigabit Ethernet
#device  alc   # Atheros AR8131/AR8132 Ethernet
#device  ale   # Atheros AR8121/AR8113/AR8114 Ethernet
#device  bce   # Broadcom BCM5706/BCM5708 Gigabit Ethernet
#device  bfe   # Broadcom BCM440x 10/100 Ethernet
#device  bge   # Broadcom BCM570xx Gigabit Ethernet
#device  dc   # DEC/Intel 21143 and various workalikes
#device  et   # Agere ET1310 10/100/Gigabit Ethernet
#device  fxp   # Intel EtherExpress PRO/100B (82557, 82558)
#device  jme   # JMicron JMC250 Gigabit/JMC260 Fast Ethernet
#device  lge   # Level 1 LXT1001 gigabit Ethernet
#device  msk   # Marvell/SysKonnect Yukon II Gigabit Ethernet
#device  nfe   # nVidia nForce MCP on-board Ethernet
#device  nge   # NatSemi DP83820 gigabit Ethernet
#device  nve   # nVidia nForce MCP on-board Ethernet Networking
#device  pcn   # AMD Am79C97x PCI 10/100 (precedence over 'le')
device  re   # RealTek 8139C+/8169/8169S/8110S
device  rl   # RealTek 8129/8139
#device  sf   # Adaptec AIC-6915 (``Starfire'')
#device  sge   # Silicon Integrated Systems SiS190/191
#device  sis   # Silicon Integrated Systems SiS 900/SiS 7016
#device  sk   # SysKonnect SK-984x & SK-982x gigabit Ethernet
#device  ste   # Sundance ST201 (D-Link DFE-550TX)
#device  stge   # Sundance/Tamarack TC9021 gigabit Ethernet
#device  tl   # Texas Instruments ThunderLAN
#device  tx   # SMC EtherPower II (83c170 ``EPIC'')
#device  vge   # VIA VT612x gigabit Ethernet
#device  vr   # VIA Rhine, Rhine II
#device  wb   # Winbond W89C840F
#device  xl   # 3Com 3c90x (``Boomerang'', ``Cyclone'')

# ISA Ethernet NICs.  pccard NICs included.
#device  cs   # Crystal Semiconductor CS89x0 NIC
# 'device ed' requires 'device miibus'
#device  ed   # NE[12]000, SMC Ultra, 3c503, DS8390 cards
#device  ex   # Intel EtherExpress Pro/10 and Pro/10+
#device  ep   # Etherlink III based cards
#device  fe   # Fujitsu MB8696x based cards
#device  ie   # EtherExpress 8/16, 3C507, StarLAN 10 etc.
#device  sn   # SMC's 9000 series of Ethernet chips
#device  xe   # Xircom pccard Ethernet

# Wireless NIC cards
#device  wlan   # 802.11 support
#options  IEEE80211_DEBUG  # enable debug msgs
#options  IEEE80211_AMPDU_AGE  # age frames in AMPDU reorder q's
#options  IEEE80211_SUPPORT_MESH # enable 802.11s draft support
#device  wlan_wep  # 802.11 WEP support
#device  wlan_ccmp  # 802.11 CCMP support
#device  wlan_tkip  # 802.11 TKIP support
#device  wlan_amrr  # AMRR transmit rate control algorithm
#device  an   # Aironet 4500/4800 802.11 wireless NICs.
#device  ath   # Atheros pci/cardbus NIC's
#device  ath_hal   # pci/cardbus chip support
#options  AH_SUPPORT_AR5416 # enable AR5416 tx/rx descriptors
#device  ath_rate_sample  # SampleRate tx rate control for ath
#device  ral   # Ralink Technology RT2500 wireless NICs.
#device  wi   # WaveLAN/Intersil/Symbol 802.11 wireless NICs.
#device  wl   # Older non 802.11 Wavelan wireless NIC.

# 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  udbp   # USB Double Bulk Pipe devices
device  uhid   # "Human Interface Devices"
device  ukbd   # Keyboard
#device  ulpt   # Printer
device  umass   # Disks/Mass storage - Requires scbus and da
device  ums   # Mouse
device  urio   # Diamond Rio 500 MP3 player
# USB Serial devices
#device  u3g   # USB-based 3G modems (Option, Huawei, Sierra)
#device  uark   # Technologies ARK3116 based serial adapters
#device  ubsa   # Belkin F5U103 and compatible serial adapters
#device  uftdi   # For FTDI usb serial adapters
#device  uipaq   # Some WinCE based devices
#device  uplcom   # Prolific PL-2303 serial adapters
#device  uslcom   # SI Labs CP2101/CP2102 serial adapters
#device  uvisor   # Visor and Palm devices
#device  uvscom   # USB serial support for DDI pocket's PHS
# USB Ethernet, requires miibus
#device  aue   # ADMtek USB Ethernet
#device  axe   # ASIX Electronics USB Ethernet
#device  cdce   # Generic USB over Ethernet
#device  cue   # CATC USB Ethernet
#device  kue   # Kawasaki LSI USB Ethernet
#device  rue   # RealTek RTL8150 USB Ethernet
#device  udav   # Davicom DM9601E USB
# USB Wireless
#device  rum   # Ralink Technology RT2501USB wireless NICs
#device  uath   # Atheros AR5523 wireless NICs
#device  ural   # Ralink Technology RT2500USB wireless NICs
#device  zyd   # ZyDAS zb1211/zb1211b wireless NICs

# FireWire support
#device  firewire  # FireWire bus code
#device  sbp   # SCSI over FireWire (Requires scbus and da)
#device  fwe   # Ethernet over FireWire (non-standard!)
#device  fwip   # IP over FireWire (RFC 2734,3146)
#device  dcons   # Dumb console driver
#device  dcons_crom  # Configuration ROM for dcons

Главное – не забыть обратить внимание на строки


options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=1000
options IPFIREWALL_NAT
options IPFIREWALL_FORWARD
options IPFIREWALL_DEFAULT_TO_ACCEPT
options LIBALIAS
options ROUTETABLES=2
options DUMMYNET
options HZ="1000"

Они нам будут необходимы для работы Kernel NAT (IPFW NAT).

Приступаем непосредственно к сборке ядра. Выполняем

mx# cd /usr/src
mx# make buildkernel KERNCONF=asyzone

Этот процесс занимает у меня (с моим конфигом) около 30 минут – все зависит от опций конфига и мощности машины.

Когда процесс сборки завершился – устанавливаем новое ядро


mx# make installkernel KERNCONF=asyzone

Тут все проходит быстро – около 1-2 минут.

Все, ядро установлено! Делаем рестарт машины.

mx# shutdown -r now
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
конфигурируем
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
Итак, в предидущей статье мы пересобрали ядро с опциями, необходимыми для работы Kernel NAT.

Создаем файл конфига для фаерволла и приступаем к его редактированию 

mx# touch /etc/ipfw
mx# ee /etc/ipfw

Я приведу пример одного из простых вариантов конфига. Т.К. у нас еще не установлено ни почтового сервера, ни веб сервера и т.д., для которых потом потребуется открывать порты лишние на данный момент правила я убрал.




Напомню, что у меня:

rl0 – интерфейс, смотрящий к провайдеру

re0 – в локальную сеть.

Вот мой ifconfig

rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8<VLAN_MTU>

ether 00:zz:xx:yy:ff:rr
inet 109.87.94.120 netmask 0xffffff00 broadcast 109.87.yyy.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=389b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
ether 00:gf:gg:hh:dd:aa
inet 172.16.100.1 netmask 0xffffff00 broadcast 172.16.100.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=3<RXCSUM,TXCSUM>
inet 127.0.0.1 netmask 0xff000000

Собственно, сам конфиг

# Разрешаем весь трафик по локальной сети
add 1040 allow ip from any to any via re0

# Запрещаем частные сети на внешнем интерфейса
add 1050 deny log ip from any to 192.168.0.0/16 in recv rl0
add 1060 deny log ip from 192.168.0.0/16 to any in recv rl0
add 1070 deny log ip from any to 172.16.0.0/12 in recv rl0
add 1080 deny log ip from 172.16.0.0/12 to any in recv rl0
add 1090 deny log ip from any to 10.0.0.0/8 in recv rl0
add 10100 deny log ip from 10.0.0.0/8 to any in recv rl0
add 10110 deny log ip from any to 169.254.0.0/16 in recv rl0
add 10120 deny log ip from 169.254.0.0/16 to any in recv rl0

# Открываем порты
# SSH
add 10122 allow tcp from any to me 22 in via rl0
# Incoming Pings
add 10135 allow icmp from any to me icmptypes 8 in recv rl0

# Настройка NAT
nat 1 config log if rl0 reset same_ports deny_in
add 10160 nat 1 ip from any to any via rl0

#Deny all
add 65534 deny log all from any to any

В данном конфиге мы разрешили весь трафик по локальной сети, открыли порт 22 (SSH) для мира, разрешили пинги на свой внешний IP из мира, настроили NAT и запретили все остальное (все то, что не описано конфигом).

Вносим в /etc/rc.conf для автозапуска ipfw при старте системы

firewall_enable="YES"
firewall_type="/etc/ipfw"

Все, запускаем ipfw:

mx# /etc/rc.d/ipfw start
Flushed all rules.
00100 allow ip from any to any via lo0
00200 deny ip from any to 127.0.0.0/8
00300 deny ip from 127.0.0.0/8 to any
01040 allow ip from any to any via re0
01050 deny log logamount 1000 ip from any to 192.168.0.0/16 in recv rl0
01060 deny log logamount 1000 ip from 192.168.0.0/16 to any in recv rl0
01070 deny log logamount 1000 ip from any to 172.16.0.0/12 in recv rl0
01080 deny log logamount 1000 ip from 172.16.0.0/12 to any in recv rl0
01090 deny log logamount 1000 ip from any to 10.0.0.0/8 in recv rl0
10100 deny log logamount 1000 ip from 10.0.0.0/8 to any in recv rl0
10110 deny log logamount 1000 ip from any to 169.254.0.0/16 in recv rl0
10120 deny log logamount 1000 ip from 169.254.0.0/16 to any in recv rl0
10122 allow tcp from any to me dst-port 22 in via rl0
10135 allow icmp from any to me icmptypes 8 in recv rl0
ipfw nat 1 config if rl0 log deny_in same_ports reset
10160 nat 1 ip from any to any via rl0
65534 deny log logamount 1000 ip from any to any
Firewall rules loaded.

Все! Прописываем на локальных машинах айпишники из подсети 172.16.100.2-254, в качестве шлюза указываем 172.16.100.1 (наш интерфейс re0), DNS’ы – те, что выдал провайдер, т.к. мы пока не настроили у себя свой DNS сервер, этим займемся позже.

Проверяем работу инета на локальных машинах.

понедельник, 10 августа 2009 г.

Правим ls

1. Для того что бы ls показал вам сразу тип файла (к примеру, обычный это файл или исполняемый, директория или симлинк).
Здесь всё зависит от того, какую оболочку Вы используете. Если у Вас оболочка из семейства csh (к примеру csh, tcsh) – в домашней директории в файл .cshrc нужно добавить строку:

alias ls ls -G

Если же у вас оболочка семейства sh (к примеру sh, bash), отредактируйте в домашней директории файл .profile и впишите в него следующую строку:

alias ls=’ls -G’

Для того, чтобы это работало у всех пользователей, необхoдимо отредактировать файлы csh.cshrc и profile в директории /etc.

Данная настройка будет работать как и на локальной консоли, так и на удалённых терминалах (если последние сопосбны поддерживать).

Не рекомендуется делать такую настройку для суперпользователя.

среда, 18 февраля 2009 г.

Русская консоль


В /etc/rc.conf пишем
font8x14="cp866-8x14"
font8x16="cp866b-8x16"
font8x8="cp866-8x8"
scrnmap="koi8-r2cp866"

После чего, надо указать пользователей, у которых будет русский язык, делается это утилитой vipw
root:XXXXXXXXXX:0:0:russian:0:0:Charlie &:/root:/bin/csh

Далее меняем локальные консоли с cons25 на cons25r в файле /etc/ttys:

# For virtual consoles, the correct type is cons25. Other
ttyv0 "/usr/libexec/getty Pc" cons25r on secure
ttyv1 "/usr/libexec/getty Pc" cons25r on secure
ttyv2 "/usr/libexec/getty Pc" cons25r on secure
ttyv3 "/usr/libexec/getty Pc" cons25r on secure
ttyv4 "/usr/libexec/getty Pc" cons25r on secure
ttyv5 "/usr/libexec/getty Pc" cons25r on secure
ttyv6 "/usr/libexec/getty Pc" cons25r on secure
ttyv7 "/usr/libexec/getty Pc" cons25r on secure
/etc/>

reboot



---------------------------------------
Руссификация консоли и MC.

1. Т.к. в десктопной системе используется кодировка cp1251 и для большинства проектов на сервере используется она же, то для удобства было решено установить её в качестве локали:
code:
setenv LC_ALL ru_RU.CP1251

Также можно сразу установить язык:
code:
setenv LANG ru_RU

А чтобы изменения не сбросились после завершения сеанса (выхода из консоли), поправим файлик ~/.cshrc:
code:
...

setenv LC_ALL ru_RU.CP1251

setenv LANG ru_RU

...

Проверяем...
code:
$ locale

LANG=ru_RU

LC_CTYPE="ru_RU.CP1251"

LC_COLLATE="ru_RU.CP1251"

LC_TIME="ru_RU.CP1251"

LC_NUMERIC="ru_RU.CP1251"

LC_MONETARY="ru_RU.CP1251"

LC_MESSAGES="ru_RU.CP1251"

LC_ALL=ru_RU.CP1251


Запускаем Mignight Commander. О-па! Он сам переключился на русский. Только вот проблемы с кодировкой хинтов. Конечно, ведь они в кодировке KOI8-R. Правится это следующими командами:
code:
cd /usr/local/share/mc/

mv mc.hint.ru mc.hint.ru_koi8-r && iconv -f koi8-r -t cp1251 mc.hint.ru_koi8-r > tmp && mv tmp mc.hint.ru && \

mv mc.hlp.ru mc.hlp.ru_koi8-r && iconv -f koi8-r -t cp1251 mc.hlp.ru_koi8-r > tmp && mv tmp mc.hlp.ru

Таким образом мы получаем хинты в нужной нам кодировке, при этом оставляя копии оригиналов.

Вот, все =)

понедельник, 16 февраля 2009 г.

Увеличиваем разрешение консоли



Пересобираем ядро с опциями

options VESA
options SC_PIXEL_MODE

Можно еще добавить оформление цвет текста или фона консоли поменять:
options SC_NORM_ATTR=(FG_GREEN|BG_BLACK)
options SC_NORM_REV_ATTR=(FG_YELLOW|BG_GREEN)
options SC_KERNEL_CONS_ATTR=(FG_RED|BG_BLACK)
options SC_KERNEL_CONS_REV_ATTR=(FG_BLACK|BG_RED)

Перегружаемся

$ vidcontrol -i mode (смотрим список доступных режимов)

$ vidcontrol MODE_282 (применяем режим что нам понравился)

Чтобы после перезагрузки настройка видеорежима сохранилась, добавляем в:
# ee /etc/rc.conf
строку с видеорежимом
allscreens_flags="MODE_282"


************************************************

Настройка

в ядро:

options         VGA_WIDTH90
options         VESA 
options         SC_PIXEL_MODE

просмотреть доступные режимы:

vidcontrol -i mode

выбрать нужный режим по номеру и вписать в /etc/rc.conf, или выполнить сразу vidcontrol MODE_XXX

allscreens_flags=" MODE_276"

здесь номер 276 означает 800x600x16 ( для подробностей vidcontrol -i mode )

к сожалению с частотами полный кавардак, на некоторых видеокартах устанавливается нормальная частота на некоторых только 60гц.

N.B! в amd64 VESA не работает

пятница, 13 февраля 2009 г.

Exim



Перед установкой провим /etc/make.conf
# директория с портами
PORTSDIR?= /usr/ports
# EXIM
.if ${.CURDIR} == ${PORTSDIR}/mail/exim
WITH_MYSQL= yes
LOG_FILE_PATH?= syslog
WITH_CONTENT_SCAN= yes
WITH_DEFAULT_CHARSET?= koi8-r
WITHOUT_IPV6= yes
WITH_BDB_VER?= 4
.endif
---------------------------------------
минус exim-a -необходимость правки Makefile для включения тех или иных возможностей exim-а.
---------------------------------------
ставим почтовик
cd /usr/ports/mail/exim
make install clean
---------------------------------------
ee /usr/local/etc/exim/configure # правим конфиг
---------------------------------------
ee /etc/rc.conf
exim_enable="YES" # включаем Exim
sendmail_enable="NONE" # отключаем sendmail
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"


/usr/local/etc/rc.d/exim start(restart, status)

ps -axj | grep exim # смотрим запустился ли
mailnull 40668 1 40668 40668 0 Ss ?? 0:00,02 /usr/local/sbin/exim -bd
root 41238 33870 41237 92267 2 R+ p1 0:00,00 grep exim
sockstat | grep exim # смотрим на каком порту весит
mailnull exim-4.62- 40668 3 tcp4 *:25 *:*

Также изменяем файл /etc/mail/mailer.conf до такого состояния:
sendmail /usr/local/sbin/exim
send-mail /usr/local/sbin/exim
mailq /usr/local/sbin/exim -bp
newaliases /usr/local/sbin/exim -bi
hoststat /usr/local/sbin/exim
purgestat /usr/local/sbin/exim

netstat -na | grep -i listen - проверка портов что слушаються

Конфиг Exim-a

=====Здесь мы определяем макросы, описывающие различные пути========================

=====Тут мы описываем списки доменов================================================
-primary_hostname”= Exim должен знать официальное, полное имя вашего хоста, и тут можно его задать. Когда она не задана, exim использует системную функцию “uname()”, для получения имени хоста. Используется в EHLO
-domainlist local_domains = @ # @ Это специальная форма, вхождение которой означает имя локального хоста. Таким образом, если локалхост называется “test.kiev.ua”, то почта к любому пользователю типа “any.user@test.kiev.ua” будет доставляться локально, для остальных доменов почта доставляется по MX записям в DNS.
-domainlist relay_to_domains = # делаем список доменов с которых разрешены релеи Можно использовать символы подстановки, типа: = *.my.domen.su : !spam.my.domen.su : first.su # тогда пропускается всё, что похоже на *.my.domen.su, но от spam.my.domen.su релеится почта не будет.
-hostlist relay_from_hosts = localhost:127.0.0.0/8:192.168.0.0/16 # (перечисляем сети через двоеточие)Составляем список хостов с которых разрешён неавторизованый релей. Обычно в нём находятся локальные сети, и локалхост. ЛокалХост в двух видах на случай не понимания одного из них
=====проверки========================================================================
-acl_smtp_rcpt = acl_check_rcpt # контролирует, какие получатели разрешены для входящих сообщений - если конфигурация не содержит ACL для проверки получателей, то никакая почта по SMTP не принимается.
-acl_smtp_data = acl_check_data # разрешает проверку содержимого сообщения.Проверка на спам и вирусы
=====Здесь мы описываем наш антивирус================================================
av_scanner = clamd:127.0.0.1 3310
spamd_address = 127.0.0.1 783И spamassasin

-exim_user = mailnull # Настройки пользователя и группы по умолчанию
-exim_group = mail
# Никогда не осуществляем доставку под рутом - root должен быть алиасом на другого локального пользователя. Кстати, это _обязательное_ условие, заданное еще на этапе компиляции never_users = root
-never_users = root# Это определяет, что никакая доставка не должна осуществляться от имени пользователя “root”. Нормальное соглашение заключалось в том, что “root” - псевдоним системного администратора. Зта опция - охранная. Список пользователей, определённых как “never_users” - неполный, при компиляции в “Local/Makefile” есть опция “FIXED_NEVER_USERS”, задающая список, который не может быть отменён. Содержимое “never_users” добавляется к списку. По-умолчанию, “FIXED_NEVER_USERS” содержит пользователя “root”.
-host_lookup = * # задаёт, что exim должен проводить обратный поиск в DNS для всех входящих соединений, чтобы получить имя хоста. Это улучшает качество логов, но если вы чувствуете, что это обходиться слишком дорого, то вы можете удалить этот пункт вообще, или ограничить поиск хостами в соседних сетях. Отметьте, что не всегда можно найти имя хоста по его IP-адресу, поскольку не все обратные DNS-зоны обслуживаются, и некоторые DNS-сервера могут быть недоступны.


Проверям правильность синтаксиса файла конфигурации

alex# exim -bV
Exim version 4.20 #1 built 22-May-2003 14:22:20
Copyright (c) University of Cambridge 2003
Probably Berkeley DB version 1.8x (native mode)
Support for: Perl OpenSSL
Authenticators: cram_md5 plaintext
Routers: accept dnslookup ipliteral manualroute
queryprogram redirect
Transports: appendfile/maildir/mbx autoreply pipe smtp
Configuration file is /etc/mail/exim.conf

Если ошибок не обнаружено, идем дальше.
Теперь требуется проверить, будет ли осуществляться распознование
сообщений для локальных пользователей. Для этого выполним:


alex# exim -bt postmaster
postmaster@example.ru
router = mysqluser, transport = mysql_delivery


Если ошибок не обнаружено, переходим к следующему шагу. Проверим,
будет ли осуществляться распознование сообщений для внешних
пользователей:


alex# exim -bt someuser@msn.com
someuser@msn.com
router = dnslookup, transport = remote_smtp


Если ошибок не обнаружено, идем дальше. Необходимо проверить, будет ли
осуществляться доставка сообщений локальным пользователям, для этого
выполним:


alex# exim -v postmaster@example.ru
From: ginger@example.ru
To: postmaster@example.ru
Subject: Testing Exim

This is a test message.
^D
LOG: MAIN
<= root@example.ru U=root P=local S=303
su-2.05a# LOG: MAIN
=> ginger R=mysqluser
T=mysql_delivery
LOG: MAIN
Completed
^C


Если ошибок не обнаружено, идем дальше - проверим, будет ли
осуществляться доставка сообщений внешним пользователям:


alex# exim -v someuser@msn.com
From: ginger@example.ru
To: someuser@msn.com
Subject: Testing Exim

This is a test message.
^D
LOG: MAIN
<= root@example.ru U=root P=local S=303
su-2.05a# LOG: MAIN
=> someuser R=dnslookup
T=remote_smtp
LOG: MAIN
Completed
^C


На данном этапе мы убедились, что Exim правильно настроен и работает.
Осталось проверить SMTP аутентификацию. Для этого сделаем следующее.


Запускаем Exim:

su-2.05a# /usr/local/etc/rc.d/exim.sh start


Формируем строку PLAIN аутентификации (Netscape):

su-2.05a# printf 'ginger@example.ru\0ginger@example.ru\0my-secret-pass' | mmencode
Z2luZ2VyQGV4YW1wbGUucnUAZ2luZ2VyQGV4YW1wbGUucnUAbXktc2VjcmV0LXBhc3M=

su-2.05a# telnet localhost 25 Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
220 smtp.example.ru ESMTP Exim 4.20 Fri, 05 Sep 2003 13:59:25 +0400
ehlo localhost
250-smtp.example.ru Hello localhost.localdomain [127.0.0.1]
250-SIZE 10485760
250-PIPELINING
250-AUTH PLAIN LOGIN CRAM-MD5
250 HELP
auth plain
334
Z2luZ2VyQGV4YW1wbGUucnUAZ2luZ2VyQGV4YW1wbGUucnUAbXktc2VjcmV0LXBhc3M=
235 Authentication succeeded
quit
221 smtp.example.ru closing connection
Connection closed by foreign host.


Из примера видно, что все прошло успешно. Если у вас иной результат -
еще раз внимательно прочитайте и ищите ошибку.





С чего начать
1)ставим Exim , провим конфиг в итоге почта ходит от нас в мир и к нам с мира
2)для того что бы роздать почту в локальную сеть и пользователи тоже могли отправлять ставим pop3d или courier- imap сервер, для доступа к почте пользователей, не имеющих локальных пользовательских учетных записей (виртуальные пользователи)
3)
4)

среда, 11 февраля 2009 г.

asus WL500gP (iptables)



Открываем ssh порт 22 для доступа из интернета на роутер

vi /usr/local/sbin/post-firewall # создаём файл

#!/bin/sh
iptables -I INPUT -m tcp -p tcp --dport 22 -j ACCEPT # открываем порт для ssh

chmod +x post-firewall # делаем файл исполняемым
flashfs save && flashfs commit && flashfs enable && reboot # сохраняем в память роутера (иначе после перезагрузки все слетит)

ifconfig сетевые интерфейсы роутера

eth0 --- физический адаптер (пять равноценных эзернет портов)
eth1 --- физический адаптер (беспроводной) Wi-Fi

путем софтовой конфигурации в eth0 может быть организовано несколько vlan (от 0 до 5). По дефолту сделано 2:
vlan0 - 4 порта LAN (свич - LAN1, LAN2, LAN3, LAN4)
vlan1 - WAN порт
br0 - это bridge, в который по умолчанию объединены 4 lan порта + wifi
br0 - vlan0 + eth1
eth1 - Wi-Fi
ppp0 - VPN подключение

понедельник, 9 февраля 2009 г.

Postpix



dig postfix-book.com MX # показывает что сервер mail.postfix-book.com являеться почтовым сервером принимающий почту для адресов в домене postfix-book.com

sendmail_enable="NONE" # отключаем sendmail /etc/rc.conf
clamav# антивирус
amavisd-new# посредником между MTA (postfix) и различными фильтрами/сканерами (spamassassin, clamav)
courier(или dovecot)#
SASL #используется postfix'ом для авторизации пользователей
LDAP — #база данных, где храниться информация о пользователях
Courier-imap программа, которая позволяет забрать письма пользователю с сервера
mbox и Maildir # Форматы серверных почтовых хранилищ



суббота, 7 февраля 2009 г.

samba

cd /usr/ports/net/samba3
make install clean
ee /etc/rc.conf
samba_enable="YES"
smbd_enable="YES"
ee /usr/local/etc/smb.conf

====================== Global Settings =====================================

[global] # общие настройки сервера самба  
Параметры этого раздела применяются к серверу целиком или являются умолчаниями для разделов если они специально не определены.

workgroup = mydomen # имя рабочей групы или нетбиос имя ПК
server string = My the bast server # описание пк в сети -пишем что хотим(можна опустить)
security = share # уровень доступа к шаре
hosts allow = 192.168.1. 127. # с каких сетей или IP адресов можна входить
hosts deny = 192.168.1.10 # етого не пускать
encrypt passwords = yes # шифруем передаваемые пароли
interfaces = em0 # интерфейс на которм весит самба
local master = no # поведение выбора обозревателя сети
oc level = 33 # тоже
domain master = no # поведение выбора обозремателя сети
preferred master = no # тоже
domain logon = no # запрещаем логины для компов выдавать, ето дело контролера домена
следующие два тоже коментируем они к етому относятся
display charset = koi8-r
unix charset = koi8-r
dos charset = cp866 # ето для русски букавок

Остальное по усмотрению
#====================== Share Definitions ===================================
[homes] # имя шары
comment = Home Directories # коментарий в сети видимый как комент к ресурсу
browseable = no # в сети ресурс виден только его владельцу
writable = yes # разрешить запись

[profiles] # имя шары



[printers] # имя шары
comment = All printers # коментарий который игнорируеться
path = /var/spool/samba #путь к спулу принтеров
guest ok = yes # разрешить печать гостю
writable = no # запрет заприси, в спул пишет сама самба
printable = yes # признак того что ето принтер, а не файл шара
create mode = 0700 # маска для файлов на печать

tmp



[public] # имя шары для свободного входа (ходи кто хоти-в нашей сети ;) )
comment = моя шара # коментарии к шаре
path = /home/user/public # путь к шаре
public = yes # доступ всем авторизированым пользователям на чтение
writable = yes # розрешить всем пользователям запись
printable = no # можна не писать, по умолчанию no (етож не принтер)
create mask = 0666 # права по умолчанию на созданый файл
directory mask = 0777 # права по умолчанию на папку

[public] # имя шары для ограниченого входа
comment = моя шара # коментарии к шаре
path = /home/user/public # путь к шаре
valid user = Vasya Petya Kolya
write list = Vasya
writable = yes # розрешить всем пользователям запись
printable = no # можна не писать, по умолчанию no (етож не принтер)
create mask = 0777 # права по умолчанию на созданый файл
directory mask = 0777 # права по умолчанию на папку

/usr/local/etc/rc.d/samba start


testparm # для проверки конфиг файла
smbstatus # какие шары кто юзает
smbstatus -V # увидим версию самбы
..........secrets.tdb #
..........smb.conf #
..........smbpasswd #
..........smbusers #

........../var/log/samba/ # логи
..........nmbd # сервер преобразования имен и адресов
..........smbd # файловый сервер
..........winbindd # сервер импорта пользователей и груп с PDC
..........swat # веб морда к самбе (розкоментируем строчку в /etc/inetd.conf)
..........smbclient # самба клиет для проверки шар(-L localhost)

здесь можно посмотреть с какими опциями скампилирована samba
ee /var/db/ports/sambaXX/options

или вместо sambaXX ставим имя любого установленого порта
или в папке с портом make config

здесь можно увидеть баги по самбе
https://bugzilla.samba.org/




CentOS

  • global  - раздел с общими настройками для Samba сервера
  • workgroup - рабочая группа Windows, WORKGROUP - значение по умолчанию для всех Windows машин, если вы не меняли самостоятельно
  • security - режим безопасности, значение user означает аутентификацию по логину и паролю
  • map to guest - задает способ обработки запросов, bad user - запросы с неправильным паролем будут отклонены, если такое имя пользователя существует
  • wins support - включить или выключить поддержку WINS
  • dns proxy - возможность запросов к DNS
  • public - название общего каталога, которое будут видеть пользователи сети, может быть произвольным и не совпадать с именем директории
  • path - полный путь до общего каталога
  • browsable - отображение каталога в сетевом окружении
  • writable - использование каталога на запись, инверсия read only
  • guest ok - авторизация без пароля
  • force user - пользователь по умолчанию
  • valid users - список пользователей, у которых есть доступ к каталогу, через @ указывается unix-группа пользователей
Проверить настройки в smb.conf можно с помощью команды:
testparm -s

понедельник, 26 января 2009 г.

ftpd



Установка стандартного встроеного фтп

ftpd_enable="YES"
ftpd_flags=" " прописываем в rc.conf
-----возможные флаги------
-D:запускать ftpd в режиме демона.
-a <адрес>: в режиме демона принимать соединения только на указанный IP-адрес.
-d:включить режим отладки (подробная информация о работе будет выдаваться серверу syslog как LOG_FTP).
-h: не выводить информацию о системе в сообщениях сервера.
-l: протоколировать все сессии (обычно используется/var/log/xferlog).
-A: разрешить только анонимный доступ.
-M: запретить анонимным пользователям создавать папки.
-m: разрешить анонимным пользователям модифицировать существующие файлы (если для этого достаточно системных прав).
-o, -O: разрешить только запись на сервер всем пользователям (-o) или только анонимному пользователю (-O). В частности, таким образом можно организовать сбор с удаленных серверов файлов резервных копий, чтение которых пользователями не предусмотрено.
-r: перевести сервер в режим «только для чтения». Любая модификация размещенных данных будет запрещена.


если просто перегрузицца и все оставить так у нас получиться анонимный фтп с розшареными папками в /usr/ftp (etc incoming i pub)

Чтобы обеспечить анонимный доступ к системе, следует создать пользователя ftp. В man 8 ftpd есть подробные инструкции, как настроить этого пользователя, чтобы обеспечить максимальную безопасность.

....

суббота, 24 января 2009 г.

SAMS

Возможности системы:

* Администрирование системы через web интерфейс
* Ограничение объема трафика пользователей на месяц
* Автоматическое отключение пользователей, превысивших лимит
* Блокировка доступа пользователей к запрещенным ресурсам интернет
* Настройка доступа пользователей через механизм шаблонов
* Разбиение пользователей на группы для удобства администрирования системы
* Ведение статистики посещенных пользователями ресурсов интернет
* Формирование отчетов по трафику пользователей за любой отрезок времени
* Поддержка видов авторизации SQUID: ntlm, ncsa, ip
* Поддержка использования редиректоров SQUID: rejik, squidGuard
* Ограничение скорости закачки для групп пользователей
* Посылку сообщений администратору при отключении пользователей при превышении трафика
* Для хранения данных используется СУБД MySQL

четверг, 22 января 2009 г.

Одной строкой

********************************************************************
dmesg | grep -w CPU #Узнать тип процессора под FreeBSD

********************************************************************
touch # Создает пустой файл. Если файл существует, то тогда комманда touch меняет дату модификации файла.

********************************************************************
mount -t msdos -o -L=ru_RU.KOI8-R /dev/da0s1 /mnt/flashПодключение флешки на FreeBSD с поддержкой русских символов

********************************************************************
Как перечитать содержимое /etc/rc.conf и перестартовать /etc/rc без перезагрузки системы
#shutdown now выход в однопользовательский режим
#return
#exit


********************************************************************
#/etc/rc.d/netif restart # Как обновить IP адресс без перезагрузки?

********************************************************************
#/etc/rc.d/routing restart # Как обновить defaultrouter без перезагрузки?

********************************************************************
tcpdump -ni em0 - покажет пакеты проходящее через интерфейс

********************************************************************
Команды для исправления ошибок на диске (система перестала грузиться).
Загрузится в single user mode.
mount -a (смонтировать все для записи, при необходимости использовать ключи -u -f -w)
fsck -y
fsck_ffs /dev/ad1s1a

********************************************************************
telnetd, rlogind и ftpd Эти сервисы по умолчанию не не шифруют трафик

********************************************************************
find / -name file_name ищет имя файла или директории начиная с корня
find / -user user_name ищет все файлы и папки созданые пользователем
find /usr/local/ -make "*.bin" поиск файлов в директории с розширением bin
find / -type f -atime +30 # поиск всех файлов что не использовались месяц
which # поиск бинарных файлов
whereis # быстрый поиск папок и бинарных файлов портов
********************************************************************
id user #как узнать есть ли такой пользователь в системе в какой он групе и его id


alias # Выводит список алиасов
ee /.cshrc добавить свой алиас типа mm вместо mcedit


PS
ps axw | grep mysql

где

a-
x-
w-


Узнать тип процессора под FreeBSD можно так:
#grep -w CPU: /var/run/dmesg.boot
CPU: Intel Pentium III (1007.80-MHz 686-class CPU)
===========
http://www.3carata.com.ua/ring/338/



**************************************
Как узнать сколько места занимает директория или папка во FreeBSD

# du -hsx /var
вывод команды примерно такой:
790M /var
****************************************

Иногда бывают случаи когда надо срочно посмотреть открыты ли порты на фрюхе или нет. И для того что бы посмотреть открытые порты на FreeBSD нам в этом помогут команды sockstat и netstat

sockstat -4 -l

-4 отображаются только IPv4 сокеты.

-6 отображаются только IPv6 сокеты.

-c отображаются только подключенные сокеты.

-l отображаются только listening сокеты (открытый порт).

$ netstat -nat | grep LISTEN


*******************************************************

Как изменить время

#ntpdate - имя_сервера_времени синхронизация по инет
#ntpdate pool.ntp.org - синхронизация по инет (пул адресов)

#date yymmddhhss - если нет инета
yy - год.последние 2 цифры
mm - месяц
dd - день
hh - час
ss - минуты
!!!после перезагрузки изменения внесенные слетят!!!
делаем
cp /usr/share/zoneinfo/YorRegion /etc/localtime
или
sysinstall (configure>time zone)

воскресенье, 18 января 2009 г.

DHCPd

cp /usr/local/etc/dhcpd.conf.sample /usr/local/etc/dhcpd.conf
Редактируем dhcpd.conf.

option domain-name-servers 192.168.0.112;
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.10 192.168.10.20;
option routers 192.168.10.1;
}

Собственно сама сеть, и диапазон айпи, которые выдавать, роутер по умолчанию, DNS.

Включаем в rc.conf
dhcpd_enable="YES"
dhcpd_ifaces=”rl0″ # в какой сети слушает и раздает адреса наш сервер
--------------------------------------------------------------------------------

Squid



squid -k parse - проверка синтаксиса конфига
squid -k reconfigure - перечитать конфиг
/usr/local/etc/rc.d/squid start запускаем сквид

squid.conf если ставили из портов лежит /usr/local/etc/squid/ Там же лежит squid.conf.default - в нем можно почитать как правильно писать правила.


Самое элементарное, что нам после установки следует сделать, так это разрешить доступ пользователям нашей локальной сети. Для этого служат параметры http_port, http_access. Кроме этого, мы заведем acl (список контроля доступа) для нашей локальной сети.
http_port нам нужен постольку, поскольку наш прокси сервер Squid должен обслуживать только компьютеры нашей локальной сети и быть невидимым для внешнего мира, дабы исключить возможность “плохим людям” внешней сети воспользоваться нашим каналом или трафиком, а в случае, если будут обнаружены “дыры” в коде прокси сервера
Squid, воспользоваться ими.

http_access используется для разрешения или запрещения доступа к определенным ресурсам, определенным адресам либо с определенных адресов, к определенным сайтам, по определенным протоколам, портам и всему тому, что непосредственно указано с помощью Acl (списков контроля доступа).




ВНИМАНИЕ!! Никогда не ставьте стандартные порты вроде 8080 80 или 3128 если не хотите чтобы ваш прокси легко можно было обнаружить)
http_port 1234

(ICP)Internet Cache Protocol для открытия возможности использования кешей соседних squid прокси


Прописывать свои списки доступа (acl) и разрешения/запреты доступа (http_access) нужно между строками
# INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS
и
And finally deny all other access to this proxy
http_access deny all

Порядок задания acl несущественен, а вот порядок следования инструкций http_access крайне важен, т.к. инструкции просматриваются от начала файла к концу, и любая сработавшая инструкция прекращает дальнейший просмотр. Если есть правило с исключениями, надо сначала задать исключения из правила, а потом само правило


If you are trying to use transparent options for squid version above 2.6, and you get the following errors:

# /usr/local/etc/rc.d/squid start
# Starting squid.
# 2007/04/10 17:53:42| parseConfigFile: line 47 unrecognized: 'httpd_accel_host virtual'
# 2007/04/10 17:53:42| parseConfigFile: line 48 unrecognized: 'httpd_accel_port 80'
# 2007/04/10 17:53:42| parseConfigFile: line 49 unrecognized: 'httpd_accel_with_proxy on'
# 2007/04/10 17:53:42| parseConfigFile: line 50 unrecognized: 'httpd_accel_uses_host_header on'


Instead of these lines just use the following:

# http_port 86.12.1.1:8080 transparent




Прозрачный squid
http_port 192.168.1.1:3129 (можна без IP просто порт)
http_port 3128 transparent
icp_port 0
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
cache_mem 128 MB

maximum_object_size 80000 KB
ipcache_size 1024
ipcache_low 90
ipcache_high 95
cache_dir diskd /mnt/squid 28000 32 512 Q1=72 Q2=64

log_fqdn off
logfile_rotate 10

dns_nameservers 10.0.0.1

auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320

#next, remove
acl localnet src 10.0.0.0/255.255.0.0
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8

acl SSL_ports port 443 563
acl Safe_ports port 80 21 443 563 210 1025-65535 280 488 591 777
acl CONNECT method CONNECT
acl all src 0.0.0.0/0.0.0.0

http_access deny !Safe_ports

http_access allow localnet
http_reply_access allow all
visible_hostname localhost


Поддержка видов авторизации SQUID
NTLM авторизация в домене Windows. WEB интерфейс позволяет импортировать пользователей из домена Windows
NCSA авторизация. WEB интерфейс позволяет импортировать пользователей из файла, созданного htpasswd
доступ по ip адресу

Приглашение Promt



Мой promt
"%n@ %c #"



Ee /.cshrc

правим строку set prompt=
синтаксис
%m - имя компьютера
%M - Полное имя машины
%# - символ
%n - текущий пользователь
%/ - полное имя директории (весь путь)
%c - в какой папке сейчас (короткий путь)
%T - время
%~ Текущая рабочая директория, но домашная директория текущего пользователя представлено тильдой ~ и домашние директории остальных пользователей представлены как ~user. Подстановка ~user действует только в случае если оболочка (shell) уже использует ~user в имени пути в текущей сессии
%c[[0]n],%.[[0]n] Отслеживает конечный компонент пути к текущей рабочей директории или n конечных компонентов, при заданном n. Если n начинается с 0 количество пропущенных компонентов предваряет конечные в формате /trailing. Если установлена переменная оболочки ellipsis, пропущенные компоненты будут представлены как ...trailing. Подстановка ~ действует аналогично
%~, но будет игнорироваться при количестве конечных компонентов больше одного
%C Аналогично %c, но без подстановок ~
%h, %!, ! Номер события в текущей истории
%S (%s) Включить (отключить) стандартный режим
%B (%b) Включить (отключить) режим жирного шрифта
%U (%u) Включить (отключить) режим подчеркивания
%t, %@ Время в 12-часовом (AM/PM) формате
%T Аналогично %t, но в 24-часовом формате (зависит от переменной ampm оболочки)
%p Точное время суток в 12-часовом (AM/PM) формате, с секундами
%P Аналогично %p, но в 24-часовом формате (зависит от переменной ampm оболочки)
\c c будет распознан как код символа
%% Символ %
%n Имя пользователя
%j Количество запущенных в оболочке работ (jobs)
%d День недели в текстовом формате
%D День недели в числовом формате
%w Месяц в текстовом формате
%W Месяц в числовом формате
%y Год в двухзначном формате
%Y Год в четырехзначном формате
%l tty оболочки
%L Очищает от конца приглашения до конца экрана или строки
%$ Подставляет значение переменной оболочки или окружения с именем, заданным сразу после $ (например %$PATH)
%{string%} Включает строку как управляющая escape последовательность. Может использоваться для изменения атрибутов терминала (например для раскраски приглашения) и может не воздействовать на положение курсора. Не может быть последней последовательностью в приглашении
%? Возвращает код ошибки команды, запущенной непосредственно перед приглашением

также можна менять цвет
Цифирками, в строке set prompt = '%{^[[40;32;1m%}%$cwd/>' можно поиграться - они задают цвет самого приглашения, и цвет фона


понедельник, 12 января 2009 г.

Как сменить МАС адрес



1. Создаем файл /etc/start_if.if0, где if0 - имя вашего сетевого интерфейса.

# cat > /etc/start_if.if0
/sbin/ifconfig if0 ether хх:хх:хх:xх:хх:xx
# chmod +x /etc/start_if.if0


2. Перезагружаем машину.

Больше никаких дополнительных действий не требуется. Скрипт будет найден и исполнен без вашего участия.


Для смены mac адреса есть два способа статичный и динамичный. Отличие одного от другого только в том, что статичный останется у Вас и после перезагрузки сервера, а динамичный сразу смениться на реальный mac адрес Вашей сетевой карты. Какой нужен Вам решайте сами.

Динамическая смена mac адреса на FreeBSD:

  1. Заходим в консоль и вводим след команды
  2. ifconfig rl0 down -этой командой отключаем интерфейс rl0:
  3. ifconfig rl0 link ether 00:00:00:00:00:01 – этой командой мы изменяем mac адрес rl0
  4. ifconfig xl0 up -это командой мы включаем интерфейс rl0

PS прошу сразу обратить внимание что смена mac адреса должна быть не заглавными буквами (т.е. прописывайте мак адрес сетевой карты маленькими буквами!!!)

Статическая смена mac адреса на FreeBSD:

Как уже говорил ниже при статической смене мак адреса сетевой карты она у Вас не изменится и после перезагрузке вашего сервера, для этого сделайте след:

  1. Откройте Ваш файл rc.conf и там где у Вас прописан интерфейс сетевой карты
  2. ifconfig_rl0=»inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx»

  3. Допишите в конец строки след:
  4. ifconfig_rl0=»inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx ether 00:00:00:00:00:01″

PS тут тоже будьте аккуратней потому как прописывать MAC адрес надо только маленькими буквами, если пропишите большими то при след перезагрузке сервера у Вас вылетит ошибка в месте где идет загрузка файла rc.conf и он будет ругаться и выдаст такую ошибку : etc/rc.conf : 32: Syntax error: Unterminated quoted string Enter full pathname of shell or RETURN for /bin/sh: