FreeBSD, yönlendirici veya yönlendirici olarak FreeBSD, paketleri bir rotadan diğerine yönlendirir. FreeBSD'yi İnternet ağ geçidi olarak kurma Freebsd ağ geçidi kurma

FreeBSD'nin kenarlarında ve FreeBSD'de pek çok yeni başlayan kişi yiyecek sıkıntısı çekiyor:

"FreeBSD'deki bir sunucunun her iki katmana da fiziksel bağlantıları varsa, iki katmanı nasıl bağlarsınız?"

Başka bir deyişle, FreeBSD sunucusu yönlendirici görevi görmekten suçludur.

Ozhe, scho mi maєmo:

  • Ethernet ağı
  • "C" sınıfının iki alt bölümü (/24 - maske 255.255.255.0)
  • İki kenar kartına sahip FreeBSD sunucusu
  • Her iki boyuttaki müşteriler

Amacımız, 192.168.1.0/24 desteğindeki müşterilerin 192.168.0.0/24 desteğindeki müşterilerle trafik alışverişinde bulunmasıdır.

Şimdi FreeBSD sunucusunu kuruyoruz ve paketleri bir boyuttan diğerine kolayca aktarıyoruz (yönlendiriyoruz).

Bu, aşağıdaki değerlerle gösterilen net.inet.ip.forwarding parametresi ile gösterilir:

# sysctl net.inet.ip.forwarding
net.inet.ip.iletme: 0

Açık narazi Bu değer "0"dır, bu da FreeBSD sunucusunun yönlendirmeyi desteklemediği anlamına gelir.

Bu fonksiyona bir göz atalım:

# sysctl net.inet.ip.forwarding=1
net.inet.ip.iletme: 0 -> 1

Yani değerler “0”dan “1”e değiştirildi. Şimdi çalışmanız gerekiyor, böylece yeniden başlattıktan sonra bu değer tekrar aynı olacak. İki şekilde para kazanabilirsiniz:

  1. /etc/rc.conf dosyasına aşağıdaki satırı ekleyin: Gateway_enable=”YES”
  2. /etc/sysctl.conf dosyasına aşağıdaki satırı ekleyin: net.inet.ip.forwarding=1

Sunucuda iki uç haritamız ve aslında iki arayüzümüz var: em0 ve em1.

Em0 kötülüğün kenarında “hayret” etsin ve em1 de sağ kenarda olsun. FreeBSD sunucu arayüzleri için önemli IP adresleri:

# ifconfig em0 ekle 192.168.1.1/24
# ifconfig em1 ekle 192.168.0.1/24

Not:

ifconfig komutuna aşağıdaki gibi yanıt verirseniz:
komut bulunamadı
takım olarak hızlanın
# ifconfig nerede
ifconfig: /sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz /usr/src/sbin/ifconfig
ifconfig yardımcı programının kendisi nasıl gelişir?
Whereis komutunun sonucundan da görülebileceği gibi, ifconfig yardımcı programı /sbin/ifconfig dizininde bulunmaktadır.
ifconfig yardımcı programının yeni yolunu girin, ardından bulunamayan komut görünmeyecek ve komut sonlandırılacaktır

Ne olduğunu görelim:

# ifconfig -a

em0: bayraklar=8843 metrik 0 mtu 1500 eter 00:02:a5:4e:92:48 inet 192.168.1.1 ağ maskesi 0xffffff00 yayın 192.168.1.255 medya: Ethernet otomatik seçimi (100baseTX) ) durum : aktif em1: bayraklar=8802 metrik 0 mtu 1500 eter 00:02:a5:4e:92:49 inet 192.168.0.1 ağ maskesi 0xffffff00 yayın 192.168.0.255 medya: Ethernet otomatik seçimi (100baseTX) ) durum : aktif

Tüm bunların ne anlama geldiğine bir göz atalım:

em0і em1- Kenar arayüzlerinin adları
ensign UP - sınır kartının etkin olduğu anlamına gelir, eğer bu bayrak mevcut değilse, o zaman paketler bu arayüzde kabul edilmeyecektir (etkinleştirmek için şu komutu kullanın: ifconfig IM_INTERFACE up)
eter - bu, bu kenar kartının mac adresidir
inet - bu daldırma için arayüz ve yayın adresleri için atanmış IP adresleri
medya— hız ve çift yönlü arayüz hakkında bilgi
durum – arayüzün mevcut durumu. Durum olarak: taşıyıcı yok, bu, ara kartta bağlantı olmadığı anlamına gelir.

Sunucuyu yeniden başlattıktan sonra arayüzlere IP adresleri atanacak şekilde dikkatli bir şekilde yapılandırmak gerekir; bunun için aşağıdaki adımlarda /etc/rc.conf dosyasını eklemek gerekir:

ifconfig_em0 = "inet 192.168.1.1 ağ maskesi 255.255.255.0"
ifconfig_em1=”inet 192.168.0.1 ağ maskesi 255.255.255.0″

Sunucunuzda ipfw gibi bir güvenlik duvarı kullanıyorsanız, paketlerin bir katmandan diğerine geçişine izin veren kurallar ekleyeceksiniz:

ipfw add 100, 192.168.1.1/24'ten 192.168.0.1/24'e izin veren ip'ye izin verir
ipfw add 110, 192.168.1.0/24'ten 192.168.1.1/24'e izin veren ip'ye izin verir

Şimdi istemci bilgisayarları yapılandırın:

  • IP adresini gerekli alt bölümle girin: 192.168.1.ХХХ veya 192.168.0.ХХХ
  • Daldırma maskesini ayarlayın 255.255.255.0
  • Ağ geçidini aşağıdaki ayarlara ayarlayın: daldırma için 192.168.1.ХХХ 192.168.1.1 ve daldırma için 192.168.0.ХХХ 192.168.0.1 (FreeBSD sunucumuzun arayüzlerindeki aynı IP adresleri)

Sunucu ve istemciler arasındaki bağlantıları kontrol etmenin zamanı geldi. Bu bilgili robotu kime götürmeliyiz? istemci bilgisayarÖrneğin IP adreslerine sahip bilgisayarlar olacaktır:

  • 192.168.1.11
  • 192.168.0.15

Sunucudaki ping yardımcı programını kullanarak hızlandırın:

#ping192.168.1.11

Sonuç şu şekilde olacaktır:

PING 192.168.1.11 (192.168.1.11): 56 veri baytı
192.168.1.11'de 64 bayt: icmp_seq=0 ttl=64 time=0,466 ms
192.168.1.11'de 64 bayt: icmp_seq=1 ttl=64 time=0,238 ms
192.168.1.11'de 64 bayt: icmp_seq=2 ttl=64 time=0,272 ms
^C
- 192.168.1.11 ping istatistikleri -
3 paket aktarıldı, 3 paket alındı, %0,0 paket kaybı
gidiş dönüş min/ortalama/maks/stddev = 0,238/0,325/0,466/0,100 ms

Bu, sunucu ve istemci arasında her şeyin yolunda olduğu anlamına gelir. Vikonit aynı z 192.168.0.15.

Ping sonucu negatifse, istemci bilgisayarın doğru IP adresine ve kenarlık maskesine sahip olup olmadığının yanı sıra sınır kartında bir bağlantı olup olmadığını kontrol edin.

Artık farklı bağlantılara sahip istemci bilgisayarlar arasındaki bağlantıları doğrulamayı deneyebilirsiniz.

Aynı işlem ping yardımcı programı kullanılarak yapılabileceği gibi IP adresi 192.168.1.11 olan bir bilgisayarda da yapılabilir:

ping 192.168.0.15

Bunun da doğruladığı gibi, farklı ağlardaki bilgisayarlar arasında bağlantılar vardır.

Kanıt olmadığı için hızlanıyor tracert yardımcı programını kullanma(Windows için) veya traceroute (FreeBSD için):

izleyici 192.168.0.15

“Yıldızlar gittiğinde”:

1 * * *

Ağ geçidinin doğru konumlandırılıp konumlandırılmadığını kontrol edin.

Rota şuna benziyor:

1 192.168.1.1 (192.168.1.1) 0,421 ms 0,447 ms 0,485 ms
2 * * *

Paketin sunucuya ulaşması için, sunucunun güvenlik duvarının paketleri engellemediğini ve 192.168.0.15 IP adresine sahip istemci bilgisayarın doğru şekilde yapılandırıldığını kontrol edin ve sunucuyu "yükseltin" (IP adresini, proxy maskesini, standardı kontrol edin) ağ geçidi ve sunucuya ping atma yeteneği)

Her şeyi kontrol ettiniz mi ama daha önce olduğu gibi hiçbir şey çalışmıyor mu? Sunucu arayüzlerinden geçen paketleri göstermek için sunucuda tcpdump yardımcı programını çalıştırın:


і

Bir submerger'a sahip bir istemci bilgisayardan, farklı bir submerger'daki başka bir istemci bilgisayara (yukarıdaki örneklerde yaptığımız gibi) bir ping çalıştırın ve sunucuda kullanılacak tcpdump komutunun adımlarını şuna benzer şekilde izleyin:

# tcpdump -ni em0

12:17:23.398376 IP 192.168.1.11 > 192.168.0.15: ICMP yankı isteği, kimlik 49222, sıra 0, uzunluk 64
12:17:24.399906 IP 192.168.1.11 > 192.168.0.15: ICMP yankı isteği, kimlik 49222, sıra 1, uzunluk 64

Tobto. 192.168.1.11 bilgisayarı ICMP yankı istek paketini 192.168.0.15 bilgisayarına iletir, aksi halde bir fark olmaz. Daha sonra sunucu bu paketleri başka bir proxy kartına iletir:

# tcpdump -ni em1

12:21:18.167017 IP 192.168.1.11 >
12:21:19.168022 IP 192.168.1.11 > 192.168.0.15: ICMP yankı isteği, kimlik 50246, sıra 5, uzunluk 64

İsteklerin başka bir sunucu arayüzüne iletilmesi ve daha önce olduğu gibi başka girişlerin olmaması önemlidir. Lütfen bilgisayar ayarlarınızı 192.168.0.15 olarak kontrol ederek herhangi bir sorun olup olmadığını kontrol edin. fiziksel bağlantılar Sınıra kadar.

Her şey böyle giderse:

12:21:17.165998 IP 192.168.1.11 > 192.168.0.15: ICMP yankı isteği, kimlik 50246, sıra 3, uzunluk 64
12:21:17.171199 IP 192.168.0.15 > 192.168.1.11: ICMP yankı yanıtı, kimlik 50246, sıra 3, uzunluk 64
12:21:18.167017 IP 192.168.1.11 > 192.168.0.15: ICMP yankı isteği, kimlik 50246, sıra 4, uzunluk 64
12:21:18.171353 IP 192.168.0.15 > 192.168.1.11: ICMP yankı yanıtı, kimlik 50246, sıra 4, uzunluk 64

ICMP yankı istek paketi, ICMP yankı yanıt paketi biçiminde bir yanıt içeriyorsa, standart "istek-yanıt" modelini kullanırız.

Hafta sonu tarihleri

Makinenin 2 arayüzü vardır:

Dış sınır (em1) - 192.168.0.0/24

İç sınır (em0) - 192.168.10.0/24 (bu şekilde telaffuz edilir)

Dış sınırdaki ağ geçidi, IP adresi 192.168.0.1 olan bir yönlendiricidir

Sistem çıktı metinleriyle birlikte kurulduğundan /usr/src klasörü boş olabilir. Aynı çıktı dosyalarının tümü günlük olduğundan, bunların nasıl indirilip kurulacağı.

Görev, bu işletim sisteminin yöntemlerini kullanarak iç ağda İnternet'e erişim sağlamaktır.

Karar.

1. Yapılandırılabilir kenar arayüzleri

/etc/rc.conf dosyasını açın

Ve aşağıdaki satırları yazalım (ya da düzeltelim):

ana bilgisayar adı=″yönlendirici″

varsayılanyönlendirici=″192.168.0.1″

Gateway_enable=″EVET″

ifconfig_em0=″inet 192.168.10.1 ağ maskesi 255.255.255.0″

DHCP aralığına dahil edilmesine izin verilmediğinden IP 192.168.0.110'u seçtim.

Harici arayüzdeki IP adresinin otomatik olarak kaldırılması gerekiyorsa satır yerine

ifconfig_em1=″inet 192.168.0.110 ağ maskesi 255.255.255.0″

2 satırı şu şekilde yazalım:

ifconfig_em1=″DHCP″

ifconfig_em1=″SYNCDHCP″

Şimdi /etc/resolv.conf dosyasını açıp DNS sunucusuna giriyoruz.

ad sunucusu 192.168.0.1

2. Sistemimizin çekirdeğini alıp kuralım

/sys/i386/conf klasörüne gidin

Aynı babaya ait dosyanın bir kopyasını oluşturalım GENEL ve kesinlikle YÖNLENDİRİCİ

Dosyayı açma YÖNLENDİRİCİ

düzeltilebilir satır

kimlik GERERIC

kimlik YÖNLENDİRİCİ

ve aşağıdaki satırları (seçenekler) ekleyin:

seçenekler IPFIREWALL

seçenekler IPDIVER

seçenekler IPFIREWALL_VERBOSE

seçenekler IPFIREWALL_VERBOSE_LIMIT=5

seçenekler IPFIREWALL_NAT

seçenekler LİBALIAS

seçenekler YÖNLENDİRİLEBİLİRLER=2

seçenekler DMMYNET

seçenekler HZ=″1000″

IPGÜVENLİK DUVARI- ipfw'yi etkinleştirmek için

IPDIVER- NAT çalışması için gerekli

IPFIREWALL_VERBOSE- ipfw robot günlüğünü etkinleştirmek için

IPFIREWALL_VERBOSE_LIMIT=5- yeni günlük sayısını sınırlamak için - saldırılara karşı koruma

IPFIREWALL_NAT- ipfw NAT'ı etkinleştirmek için

LİBALILAR- Gerekli libalias kütüphanelerinin çekirdeğine dahil edilmesi için

YÖNLENDİRİLEBİLİRLER=2- iki yönlendirme tablosu oluşturmak için

DMMYNET- trafik şekillendirici işlevini etkinleştirmek için

HZ=″1000″- gigabit kenar adaptörünün çalışmasını hızlandırmak için

Çekirdeği ele alalım

buildkernel yap KERNCONF=ROUTER

ve yükle

çekirdek kurulumunu yap KERNCONF=ROUTER

Bundan sonra sistemi yeniden icat edeceğiz

3. Otomatik etkinleştirmede güvenlik duvarını etkinleştiriyoruz ve ipfw kurallarını kullanarak bir komut dosyası oluşturuyoruz

Dosyayı açma /etc/rc.conf Ve yeni satıra şunu yazalım:

güvenlik duvarı_enable=″EVET″

güvenlik duvarı_nat_enable=″EVET″

güvenlik duvarı_script=″/etc/ipfw.conf″

Dosya şimdi açıldı /etc/sysctl.conf Ve yeni yazalım:

robotlar için ipfw NAT

net.inet.ip.fw.one_pass=1

ipfw günlüklerini korumak için

net.inet.ip.fw.verbose=1

net.inet.ip.fw.verbose_limit=5

Komut dosyasını ipfw kurallarını kullanarak oluşturalım:

Hadi açalım

Ve aşağıdaki satırlara yazalım:

exface=″em1″

inface=″em0″

in_ip=″192.168.10.1″

cmd=″ipfw -q″

$cmd -f gömme

dış görünüşі yüzünde- ağ geçidine harici ve dahili arayüz

in_ip- Dahili arayüzün IP adresleri

cmd- Komut öneki ipfw -q

$cmd -f gömme- Mevcut tüm kuralları görüntüler

$cmd 100 ekle lo0 aracılığıyla herhangi birinden herhangi birine IP'ye izin ver - geridöngü arayüzünde izin verilen trafiğe - dahili işletim sistemi ihtiyaçları için gerekli

$cmd herhangi birinden 127.0.0.0/8'e 200 reddetme ipi ekler - tüm geridöngü arayüzü boyunca herhangi bir cihazdan gelen IP trafiğini engeller

$cmd 127.0.0.0/8'den herhangi birine 300 reddetme ipi ekler - tüm geridöngü katmanından herhangi bir cihazdaki arayüze giden IP trafiğini engeller

$cmd add 400 $inface aracılığıyla herhangi birinden herhangi birine izin verir - yarattığımız şeyin ortasında kesintisiz trafiğe izin verir yerel önlemler

$exface resetlenirse $cmd nat 1 yapılandırma günlüğü aynı_ports Denk_in - em0 arayüzünde parametrelerle çekirdek NAT'ı etkinleştirir, orta arayüzün IP adresini değiştirirken bağlantı tablosunu sıfırlar, portların kaydedilmesine yardımcı olur ve giriş bağlantılarını korur

$cmd $exface aracılığıyla herhangi birinden herhangi birine 1030 nat 1 ip ekleyin - Harici arayüzden geçen her şeyi NAT'a yönlendirir

Senaryo şarkı gereksinimlerine eklenebilir.

Zrobimo betiği vikonuvanim

chmod u+x /etc/ipfw.conf

ve sistemi yeniden icat etmek

4. ISC DHCP sunucusu 4.2'yi kurun ve yapılandırın.

Başlamak için bir bağlantı noktası ağacı oluşturmanız gerekir:

portsnap getir && portsnap özü

Daha önce duyurulduğu üzere güncellendi:

DHCP sunucusu şu bağlantı noktalarından kurulabilir:

cd /usr/ports/net/isc-dhcp42-sunucusu

tüm kurulumu temiz yap

sonunda bileşen seçimine karar veriyoruz... her şeyi geride bırakıyoruz.

Kurulumdan sonra dosya açılır /etc/rc.conf Ve buna şunları ekleyeceğiz:

dhcpd_enable=″EVET″

dhcpd_flags=″-q″

dhcpd_ifaces=″em0″

Daha sonra dosyayı açıyoruz /usr/local/etc/dhcpd.conf ve yeni olarak:

yorumlanmamış

yetkili;

satırdan sonra

günlük tesisi local7;

her şeyi siliyoruz (aşağıdaki gibi)

Ve bunu şu şekilde yazalım:

alt ağ 192.168.10.0 ağ maskesi 255.255.255.0 (

aralık 192.168.10.21 192.168.10.151;

seçenek yönlendiricileri 192.168.10.1;

seçenek alan adı sunucuları 8.8.8.8, 8.8.4.4;

Dhcpd hizmetini başlatma

hizmet isc-dhcpd başlangıcı

ya da arabayı yeniden eski haline getireceğiz

Örneğin başka bir makinede doğrulandı: Windows yüklü XP. Yapılandırılmış ayarlarda "IP adresini otomatik olarak seç" ve "DNS sunucu adresini otomatik olarak seç" bulunabilir. XP sınırları ayarlayamazsa aşağıdakileri yapabilirsiniz:


Makale size yardımcı olduysa yazarla iletişime geçebilirsiniz:
WMR Gamanets'e (WebMoney) transfer: R301575071888
Yandex.Gamanets'e aktarım: 410011003938168
veya PayPal'da: Bu makale, bir güvenlik duvarı kurulumuyla İnternet'e açılan bir ağ geçidi rolünü oynayan ve yerel ağdaki mac adresinin statik bir arp tablosunu destekleyen FreeBSD'yi temel alan bir yönlendirici kurmakla ilgilidir. FreeBSD'nin sadakatle ve sadakatle hizmet ettiği IPFW hakkında halihazırda birçok kader var, özellikle de o zamandan beri kalan sürüm FreeBSD 4.0'a sahip depo düzeltildi ve arayüz üzerinden trafiği birbirine bağlamanın doğru yeteneği eklendi (bw seçeneği ile boru seçeneği). Üçlü bir yönlendirici kullanabilmemiz kabul edilebilir orta panolar bunlardan biri (її vx0, IP 200.200.200.1 olarak adlandırılır) b_k Internet'e şaşırır ve diğeri (її vx1, IP 200.200.200.2 olarak adlandırılır) gerçek 18 IP adresli (alt ağ 200.2005.205.25 5.240) b_k yerel ağına hayret eder. Üçüncü kenar kartına kadar (vx2 IP 192.168.1.1 ve kenar 192.168.1.0/28) 10Mb adliye binasının kenarına bağlanır. Aşağıdaki görevler önümüze konmuştur: 1. 135,137,139 numaralı bağlantı noktalarındaki çağrıların dahili ağına erişimi engellemek 2. Yerel ağ kullanıcılarının posta yoluyla ve WWW'den bir tarayıcıyla işlem yapma becerisine ilişkin veriler, FTP sunucuları Diğer şirketler. 3. Yönlendirici üzerinde SYN Flood, ICMP Flood gibi saldırı olasılığını devre dışı bırakın. 4. Bu WWW sunucusunda yayınlanan adlarla çalışmak için kurumsal WWW, FTP sunucusuna (200.200.200.5) erişimi yalnızca yerel sınır dahilinde ve IP 190.190.190.5 olan dosyadan erişime izin vermeyin 5. Konferans erişiminin kilidini açın Yönlendiricinizi sistem yöneticisinin ana ana bilgisayarına kurma. 6. Vasya'nın tüm ay boyunca www.playboy.com'dan resim indirmekle meşgul olmasını sağlamak için yerel ağdaki IP adreslerinin trafiğini güvence altına alın. 7. Dostu Klinta bileşenleri için üçüncü eritilmiş kartta 64kb trafik oluşturun, Sho, Nashu Router'a 10 MB'lık çok kaynamış olarak biliniyor. Bulunacağım yerel kapsamda topaklı tarafa erişimi haykırıyorum. Öyleyse başlayalım. 1. Çekirdeğin yapılandırılması ve komut dosyalarını sarma seçenekleri. Aşağıdaki seçenekler çekirdeğe eklenmelidir: seçenekler IPFIREWALL (çekirdekteki paketleri filtreleme kodunu içerir) seçenekler IPFIREWALL_VERBOSE (filtreleme kurallarının ve geçen paketlerin günlüklerini tutma yeteneğini içerir) seçenekler IPFIREEWALL_VERBOSE_LIMIT=10 (ortalama liste listesi hakkında) kayıt paketi sayısı) seçenekleri TCP_DROP_SYNFIN (SYN ve FIN içeren TCP paketlerini bırakır) Sonuç olarak, sistem yeniden başlatıldığında, tüm arayüzlerde herhangi bir IP trafiğinin geçişini engelleyen güvenlik duvarını kaldırıyoruz. Daha sonra, yalnızca bilgisayar sunucularının çalışması için gerekli olan TCP ve UDP bağlantı noktalarını açmak için önemli kurallarımız var. Farklı bir yaklaşım istiyorsanız - "önce her şey açık ve sonra kapalı", o zaman çekirdekte bir seçenek belirtmeniz gerekir: seçenekler IPFIREWALL_DEFAULT_TO_ACCEPT /etc/defaults/rc.conf dosyasında bir seçenek belirtin: tcp_extensions = "NO" ("tehlikeli" TCP uzantılarını devre dışı bırakın) tcp_drop_synfin = "YES" (SYN + FIN etkin) icmp_drop_redirect = "YES" (ICMP paket yeniden yönlendirmesi göz ardı edilir) icmp_log_redirect = "YES" (ICMP REDIRECT günlüğü etkin) firewall_enable = " " (Bu Güvenlik duvarı ayarlarımızın rc.firewall'da "Şirket") bölümünde mevcut olduğunun farkında olduğu belirtilmektedir. defaultrouter = "199.199.199.1" (ISP'mize ağ geçidi) 2. IPFW yapılandırması. Şimdi IPFW kurallarını yazmaya başlıyoruz. Sözdiziminin daha ayrıntılı bir açıklaması el kitabında veya man ipfw'de okunabilir. Kendi konfigürasyonumuzu (“Şirket”) oluşturduktan sonra bunu rc.firewall’da tanımlamamız gerekiyor: # Arayüzü tanımlıyoruz fw=”200.200.200.1” local=”200.200.200.2” client=”192.168.1.1 " net= "200.200.200.0/28" Mask = "255.255.255.255.240" # izin verilen trafik Herhangi Bir LO0 Yoluyla # yerel Merezhi'nin mezelerinde izin verilen trafiğe $ (FWCMD) Ekle Tümünü Herhangi Bir Yoluyla Vx1 Yoluyla # kumaş Hodzhennya parçalı paketleri $(fwcmd) add reddetme icmp herhangi birinden herhangi bir parçaya # ICMP paketlerinin geçişine izin verir $( fwcmd) add pass ICMP herhangi birinden herhangi birine # SMTP protokolü ile bir robota izin verir $(fwcmd) add pass tcp herhangi birinden herhangi birine 25 out $(fwcmd ) herhangi bir 25'ten herhangi bir dışarıya tcp ekleme # HTTPS protokolü olan bir robota izin verilir $(fwcmd ) herhangi birinden herhangi bir 443'e tcp aktarma ekle $(fwcmd) herhangi bir 443'ten herhangi bir dışarı tcp ekleme izin verilir şirket içi bir sunucudan çağrı yapan bir robota $ (fwcmd) 199'dan pass tcp ekleyin. 199.199.10 v00.00 (fwcmd) add pass tcp'yi 200.200.200.5'ten 199.199.199.10'a vx0 aracılığıyla # Robotu şirketin dahili sunucusundan koruyun $(fwcmd) add herhangi birinden 200.200.2 00.5 80'e vx0 aracılığıyla tcp'yi reddet # HTTP protokolüne sahip robota izin veriliyor $(fwcmd) vx1 yoluyla herhangi birinden herhangi bir 80 çıkışa TCP geçişi ekleme Yalnızca şirketimizin yerel sınırları içindeki # tüm protokolleri kullanan izin verilen robot $(fwcmd) DNS sunucuları$(fwcmd) herhangi birinden herhangi bir 53'e geçiş udp'si ekle $(fwcmd) herhangi bir 53'ten herhangi birine geçiş udp'si ekle # HABER Sunucuları ile robota izin veriliyor $(fwcmd) herhangi bir 119'dan vx1 yoluyla geçiş udp'si ekle herhangi bir 119'dan geçiş udp'si ekle vx1 aracılığıyla herhangi birine # POP3 protokolü aracılığıyla posta alınmasına izin verilir $(fwcmd) add pass udp herhangi birinden herhangi birine 110 $(fwcmd) Lütfen TCP protokolünün 20 numaralı bağlantı noktasının, ek olarak veri iletimi için kullanıldığını unutmayın. bağlantı noktası 21. $(fwcmd) herhangi bir 21'den herhangi birine geçiş tcp ekleyin $(fwcmd) herhangi birinden herhangi bir 21'e geçiş tcp ekleyin $(fwcmd) herhangi bir 20'den herhangi bir yere geçiş tcp ekleyin $(fwcmd) herhangi birinden herhangi bir 20'ye geçiş tcp ekleyin # İzin Verildi ev makinesinden ssh aracılığıyla erişim # admin IP 200.200.200.15 $(fwcmd) 200.200.200.15'ten pass tcp ekleyin 22'den (isp) $(fwcmd) yerel ağdaki 2002 vx2 kartlarına pass tcp ekleyin # şirketimiz ї vx1 aracılığıyla 192.168.1.0/24'e # Robota izin verilir baz bağlantı noktaları vx2 arayüzünde TCP $(fwcmd) vx2 $(fwcmd) aracılığıyla 192.168.1.0/24'ten herhangi bir 25'e geçiş tcp ekleyin vx2 $(fwcmd) 1.0/24 aracılığıyla herhangi bir 25'ten 192.168.1.0/24'e geçiş tcp'yi herhangi bir 110'a ekleyin vx2 aracılığıyla $(fwcmd) herhangi bir 110'dan 192.168.1.0/24'e geçiş tcp'sini vx2 aracılığıyla $(fwcmd) ekle 192.168.1.0/24'ten herhangi bir 53'ten 192.168.1.0/24'e geçiş udp'sini vx2 aracılığıyla $( fwcmd) vx2 aracılığıyla 192.168.1.0/24'ten herhangi bir 80'e pass tcp ekleyin $(fwcmd) herhangi bir 80'den 192.1'e pass tcp ekleyin vx2 arayüzündeki maksimum bant genişliği 64 Kb'dir. # gelen trafik için $(fwcmd) vx0 yoluyla herhangi birinden herhangi birine boru 1 ip ekle $(fwcmd) boru 1 yapılandırması ekle bw 64Kbit/s # vx2 arayüzündeki maksimum bant genişliği 64 Kb'dir. # giden trafik için $(fwcmd) vx0 yoluyla herhangi birinden herhangi birine boru 2 ip ekle $(fwcmd) boru 2 yapılandırması ekle bw 64Kbit/s Robot kurallarını kontrol etmek için popüler TCP/IP NMAP tarayıcısını hızlı bir şekilde kullanabilirsiniz (erişim) FreeBSD deposuna) örneğin şu komutu vererek: nmap 200.200.200.1 veya nmap 200.200.200.2, ağınızın adresi aralığının dışına bakarak veya İSS'nizden bunu isteyerek. 3. Ayrıntıları unutmak Mac Adresi Yönlendiricimizin, ağın 200.200.200.0/28 aralığına giren meşru TCP/IP paketleri kisvesi altında çağrıları yerel ağa sızdırabilecek IP adreslerine sahip paketleri kabul edebildiğinden emin olmamız gerekir. Görünen o ki, bu noktada MAC adresine sıkı bir şekilde bağlı bir tablo IP adresimiz var. bazı kartlar ISP yönlendiricimizinki. Bazen, sınırsız casus yazılım dünyasında olduğu gibi, ana makinenizin IP adresini, örneğin sırasıyla çıkışta ve konide bulunan başka bir bilgisayarın adresine değiştirmek gerekebilir. Başlamak için;) Başlamak için, formatın şu şekilde olacağı bir MAC adres tablosu oluşturmanız gerekecek: petya 00:20:af:4a:3e:e3 00:20:fg:3a:3e: 21 fg:3a:3e: 21 marina 00:20:fg:3a:3e:21 Ve onu bir dosyaya kaydedin, örneğin /etc/ethers. Ana bilgisayarın Ethernet adresini bulmak için tek yapmanız gereken arp -a yazmanızdır. Yönlendiricide arp -f /etc/ethers komutunu çalıştırdığınızda, ARP protokolünün çalışması sırasında edge kartının IP adresi ve MAC adresi ile ilgili tüm bilgiler /etc/ether dosyasında toplanır ve dondurulur. Bu işlem, yönlendiricide (FreeBSD bağlantı noktalarında) arpwatch çalıştırılarak ve her ana bilgisayarda name_hosts IP_adress çiftinin ve /etc/ethers'in yaygın olarak kullanılan formatta bir açıklamasını içeren bir /etc/hosts dosyası oluşturularak otomatikleştirilebilir. IP adresinin değiştirildiği ortaya çıkarsa arpwatch, olanların açıklamasını içeren bir sayfa gönderir ve arp tablosu dondurulur. 4. İstatistikleri ayarlıyoruz. Bir strateji oluşturmak için FreeBSD paket deposuna girmek için ipfm'yi kullanacağız. Kurulum sırasında ipfm.sh dosyası /usr/local/etc/rc.d dizininde, ipfm.conf dosyası ise /usr/local/etc dizininde oluşturulur. Tam olarak düzenlememiz gereken şey bu. Şimdi başlayalım: ##### İLK KAYIT YAPILANDIRMASI ##### # İstatistiklerin alındığı dahili ölçümü açıklıyoruz LOG 200.200.200.0/255.255.255.240 200.200.0.5.0.5.0.5 İLE DEĞİL. var/log/ipfm/local_net-%d.%m-%H.%M.%S # Penceremizde oturum açma periyodunu ayarlayın, günlük güncellenecektir # zaman 7 gün ÇÖZÜMDE SIRALA ##### İKİNCİ KAYIT YAPILANDIRMA ##### NEWLOG # 192.168.1.0/24 alt ağı 192.168.1.0/255.255.255.0'ın dahili ağını açıklıyoruz, 192.168.0.0/255.255.0.0 /ipfm/ipfm-%d.%m-% İLE DEĞİLDİR H.%M .%S # Bir haftalık bir süre boyunca oturum açın SÜRE 1 gün ÇÖZÜMDE SIRALAMA Protokoller ve iletilen paket sayısı hakkında daha ayrıntılı bilgiye ihtiyacınız varsa, ipfw'deki sayma seçeneğini hızlı bir şekilde kullanabilirsiniz: # Girişi koruyun giden trafik HTTP protokolü aracılığıyla ipfw add count tcp herhangi birinden herhangi bir 80'e vx0 aracılığıyla ipfw add count tcp herhangi birinden herhangi bir 80'e vx0 aracılığıyla # Belirli bir IP adresinden istatistik almak istiyorsanız, bunu şu şekilde girmeniz yeterlidir: ipfw add tcp'yi herhangi birinden 200.200.200.3'e vx1 veya 200.200.200.3 üzerinden sayın bu koristuvach'ın IP adresidir, örneğin Vasya www.playboy.com'daki grafik dosyalarıyla ilgileniyor. Ayrıca örneğin şu yöntemi kullanarak sitenize erişimi de engelleyebilirsiniz: ipfw add log cancel all from any'den www.playboy.com'a Günlüğe yazarak bir sonraki adımı deneyin. Grafik istatistikleri, yönlendirici üzerinde çalışan snmp aracısı seçildiğinde depolanan MRTG (Çoklu Yönlendirici Aktarıcı Grapheer) paketlerine dayalı olacaktır. Başka bir makalenin konusu olan yönlendiriciye saldırı tespit yeteneklerinin de kurulması gerekir.

Fryukha dağıtım kiti genellikle yerel uçta uygulanan en yüksek düzeyde kenar yönetimi için en uygun kit olarak adlandırılır. Bugün en önemli görevlerden birini ele alacağız - yerel bir alandan İnternet'e erişmek için Freebsd 10'da bir ağ geçidi kurmak. Bu, ek yeteneklerle genişletilebilen basit, popüler ve zorlu bir sunucu işlevidir.

Tesisimizi ağ geçidi kurulumuyla güncellemek için sistemin gelecek sürümünü inceleyeceğiz:

# uname -v FreeBSD 10.2-RELEASE-p8 #0 r292756M: 26 Aralık Cumartesi 22:49:34 MSK 2015 [e-posta korumalı]:/usr/obj/usr/src/sys/GENERIC

Sunucuda yüklü 2 kenar kartı var:

  • hn0- Harici arayüz, dhcp aracılığıyla yapılandırılmış, sağlayıcıdan İnternet'i tanımlar
  • hn1— yerel sınır, 10.20.30.1 adresleri, manuel olarak kurulur

Freebsd router yazılımı kurulumumuz, sunucuda yönlendirme kurulumu, ipfw kurulumu ve kurulumu, nat'ın açılması, yerel dhcp ve dns sunucusu kurulumu içerir.

Ağ geçidini kurmadan önce sunucuyu hazırlama

Dhcp sunucusu dnsmasq kiralamaları hakkında bilgi dosyada görüntülenebilir /var/db/dnsmasq.leases.

Iftop yardımıyla freebsd'deki ara aktivitenin analizi

Bazen yönlendiricide ne olduğunu ve o anda İnternet'i kimin kullandığını görmek istersiniz. Ancak sistemin bu bilgilerin kaldırılmasına yönelik hazır bir yöntemi bulunmamaktadır. Bize yardım etmeye gel basit program iftop, izleme arayüzündeki etkinliği gerçek zamanlı olarak görüntülemenizi sağlar.

Kurulabilir iftop Freebsd ağ geçidini kurmak için:

# pkg iftop'u yükle

Belirlenen arayüzden iftop'u başlatın ve seçilen bağlantı noktalarını görüntüleyin:

# iftop -i hn1 -P

Kim, nerede, hangi limanda ve hangi likiditeyle harika bir tablo görelim.

Örneğin, bilgisayarlarımdan birinde bir İnternet trafik oluşturucu çalıştırdım. Tüm kanalı ele geçirdi ve iftop kullanılarak yönlendiricide mucizevi bir şekilde görünür hale geldi. Tabii ki, bu basit yardımcı program yalnızca sınır aktivitesini izlemekle ilgili değildir; daha ziyade, başka bir şeye ihtiyacınız yoksa bir akış resmi sağlar.

Visnovok

Gelin neler kazandığınıza bir göz atalım. Kısa bir saat içinde, sunucunun arkasındaki istemcilerin İnternet erişimini sağlamak için Freebsd 10'u temel alan tam teşekküllü bir ağ geçidi (aslında bir yazılım yönlendiricisi) kurduk. Bu durumda ayarlar otomatik olarak yapıldı. Mütevazı bir şekilde gezinin sanal sunucu Böyle bir bina ağ geçidi çok fazla trafiği kaldırabilir.

Tüm kurulum tam anlamıyla 10-15 dakika sürer. Zamanımın çoğunu çekirdek toplamakla geçiriyorum. Freebsd'nin hangi sürümü daha yüksek olursa olsun, indirmenin likiditesinin önemli ölçüde artacağı gerçeğine bakılmaksızın daha fazla para alacaksınız.

Gelin noktaları gözden geçirelim ve kendimiz ne topladığımızı bulalım:

  1. Ağ geçidini kurmadan önce sunucuyu hazırladık.
  2. Çekirdeği gerekli parametrelerle yeniden seçtik.
  3. İpfw ve nat'ı kurduk, yönlendirmeyi açtık.
  4. Dağıtım için dnsmasq kuruldu ve yapılandırıldı Merezhevikh ayarlandı dhcp ve dns sunucusu aracılığıyla.
  5. Harici arayüzdeki ağ etkinliğinin en basit analizi için iftop'u kurduk.

Bu, ağ geçidinin Freebsd 10'da düzgün çalışması için yeterlidir. İstemcinin trafiğini desteklemeye veya diğer kaynaklara erişimi sınırlamaya ihtiyaç olduğundan bunu yapmak mümkündür.

Kendi yerel sınırınız var,
İnternete video hattı üzerinden bağlanmanız gerektiğine karar veriyorsunuz. Peki, ne güzel bir konuşma, bugün senin için deneyeceğim
Biraz yardımcı olalım 🙂 FreeBSD kurulumunu bitirelim, bazı hatalarımız
güvenlik, önceden halletmemiz lazım 🙂 Her şeyi virüsle, anlat
kesinlikle aptal :), neye ihtiyacımız var ve sonra açalım 🙂 Sistem kurulduğunda sizin için açılacaktır
“Limanların koleksiyonuna neden hayret edesiniz ki?” deyin. Eklentiyi hemen yükleyeceğiz
güvenlik yazılımı. Güvenlik bölümüne gidip orada PortSentry adında bir program seçelim, daha sonra elimizde olacak 🙂 Kurulumdan sonra derlememiz gerekiyor
çekirdek... Hazır GENERIC çekirdeği temel alalım. /sys/i386/conf adresinin arkasında bulunmalıdır. Sistem için yeni bir çekirdek yazın, hiçbir şeye ihtiyacınız olmayacak (örneğin, sistemde kullanılmayacak USB, COM, LPT, SCSI, RAID ve diğer aygıtlar için desteğe ihtiyacınız olmayacak, USB kazandı) Gerekli olmayacak ve yönlendirme yapmanıza, cihazları USB desteğiyle bağlamanıza vb. gerek kalmayacak; bu, bir bütün olarak sistemin hızını daha da artıracaktır. detaylı bilgi LINT dosyasında bulacaksınız). Yeni çekirdeğin ilerleyen kısımlarında aşağıdaki satırları ekliyoruz:

Seçenekler IPFIREWALL #Güvenlik duvarı desteğini etkinleştir
Seçenekler IPDIVER #bu seçenek NAT çalışması için gereklidir
Seçenekler IPFIREWLL_VERBOSE #Güvenlik duvarının günlük yazmasına izin ver
Seçenekler IPFIREWALL_VERBOSE_LIMIT=10 #Veriler için günlük girişlerinin değişimi
Seçenekler TCP_DROP_SYNFIN #Geri kalan paketler kabul edilmez
Seçenekler ICMP_BANDLIMIT #Bu seçenek DOS saldırılarından kaçınmak içindir :)
Seçenekler ACCEPT_FILTER_DATA #Bu seçeneği takdir ediyorum 🙂
Seçenekler TCP_RESTRICT_RST #Bu seçenek de devre dışıdır

yapılandırma proxy'si, cd ../../compile/proxy, make Depend, make, make install

Hepsi bu kadar sanırım ama derleme işe yaramadığı için çekirdeğinizi derlediniz
Şaşkındım - hayrete düştüm, belki de öyle anlamadım, bu yüzden olur ve çekirdeği tekrar almaya çalışırım. Bundan sonra sistemler derhal yeniden başlatılır. Ve makinemiz yeni çekirdekle ilgilenmeye başlayabilir. Sonuçta kimin değil
Değiştirmeye gerek yok; sistem eski çekirdekle yükseltilebilir. Kimin için
Lütfen güncelleme moduna geçmek istediğinizi söylüyorsanız Enter tuşuna basın.
unload komutunu verin, ardından kernel.old'u yükleyin ve önyükleyin. İşte bu, sistem eski çekirdeğe takıntılı.

Promosyon ürünleri için sistem aktivasyondan önce 9 saniye boyunca kontrol yapar.
/boot klasörüne gidiyoruz ve orada loader.conf dosyası var, bir sonraki satırı oraya eklememiz gerekiyor
boot_autodelay=0, bu yüzden sistemin koristuvach onayı için 9 saniye boyunca kontrol yapmadığından emin olun, ayrıca yeniden etkinleştirildiğinde sistemin hızlı bir şekilde çevrimiçi olmasına da ihtiyacımız var :) Daha sonra şuraya gideceğiz:
/etc klasörüne girip rc.conf dosyasını düzenlemeye başlıyoruz. Aşağıya bazı yorumlar ekleyeceğim, o yüzden size geri dönelim
zor olmayacak:

hostname = "zlobix.evil.com" #Arabanızı Merezheve edin
güvenlik duvarı_enable = "YES" #Güvenlik duvarını etkinleştir
güvenlik duvarı_script="/usr/local/etc/firewall.conf" #güvenlik duvarı politikalarının bulunduğu dosyaya
güvenlik duvarı_tipi = "kapat" #Güvenlik duvarı türü, Danimarka tipi her şeyi korur!
firewall_logging="YES" #Güvenlik duvarımızı ayarlayın ve günlükleri yazın
natd_program="/sbin/natd" #Buradan natd iblisine selamlar
natd_interface="ed0" #Bu arayüzde NAT'ımız olacak, arayüzün ISP'ye (Internet Service Provader) bağlı olması gerekiyor
tcp_extension="NO" #TCP/IP için güvenli olmayan uzantıları devre dışı bırakın
tcp_keepalive="YES" #Bu seçeneği ayarladığınızda yönlendiriciniz daha az uyanacaktır
DOS saldırılarına karşı dayanıklıdır.
tcp_drop_synfin = "EVET" #Soldaki paketler kabul edilmiyor
tcp_restrcit_rst="YES" #Bunun ne anlama geldiğini hatırlamıyorum ama açmanızı öneririm :)
icmp_drop_redirect = "EVET" #ICMP ile çalışmıyor
paketler
icmp_log_redirect="YES" #Mantıksal ICMP paketleri izleniyor
ifconfig_lo0="inet 127.0.0.1" #geridöngü adresini ayarlama,
burada anlatıldığı gibi doldurun

ifconfig_ed0="inet 167.65.89.147 nemask 255.255.255.192" #bu uygulama için buna sahibiz
Arayüz bisiklet sağlayıcısında görülecektir; burada ed0 arayüzdür, inet
IP adresi sağlayıcı tarafından sağlanır; ağ maskesi, daldırma maskesidir.

ifconfig_ed1 = "inet 192.168.0.1 ağ maskesi 255.255.255.0"

ifconfig_ed1_alias0="inet 192.168.1.1 ağ maskesi 255.255.255.0" # bir uç arayüzüne bir dize ekleyebilirsiniz
Ağımız mantıksal olarak 192.168.0.0/24 ve 192.168.1.0/24 de /24 olmak üzere iki alt bölüme ayrıldığından IP adresi (IP takma adı) bu uygulamada aktarılır.
- CIDR yöntemi için maske kodu;
malzemeler 255.255.255.0

syslogd_enable="YES" #Arka plan programını etkinleştirir
Günlüklerden biz sorumluyuz
inetd_enable="HAYIR" #Virubay bu hizmeti yerine getiriyor!
name_enable="HAYIR" #bir şey değil, yönlendiricinizi DNS sunucusu olarak kullanmayın 🙂
nfs_client_enable = "HAYIR" # Aşağıdaki üç parametre Ağ Dosya Sistemi desteğini gösterir, benim için aynı zevktir
nfs_server_enbale = "HAYIR"
nfs_reserved_port_only = "HAYIR"
fsck_y_enable = "EVET"
portmap_enbale="HAYIR" #portmapper'ı etkinleştir
sshd_enbale = "YES" #Yönlendiricimizi uzaktan kullanabilmemiz için ssh'yi etkinleştirin :)
sshd_programm="/usr/sbin/sshd/" #ssh arka plan programının yolu
sshd_flags="" #Sshd'yi başlatmayı isteyin çünkü nasıl yapılacağını bilmiyorsunuz
defaultrouter="167.65.89.1" #Sağlayıcımızdan en iyi yönlendirici
getaway_enbale = "YES" #Makinemizdeki ağ geçidini etkinleştirin
icmp_bmcastecho = "HAYIR" #Virubaemye yankı protokolü ICMP'de vіdpovidі, ancak sinirlerimizi kurtarmak için 🙂
cron_enable = "HAYIR" #Çoğu kişinin Cron'u açıp açmadığını bilmiyorum, devre dışı bırakıyorum, yönlendiricideki parçalara ihtiyacım yok.
clear_tmp_enable="YES" #Sistem etkilendiğinde tmp dizinini temizleme
lpd_enable="HAYIR" #Friends sizi yönlendiriciden uyandırmayacak, bu nedenle fişini çekin
usbd_enable = "HAYIR" #Virable daemon, USB aygıtlarını destekler
sendmail_enable="HAYIR" #Sendmail'i kesmek, FreeBSD'de yer bulmak, bundan sonra tüm faydalarını bilmek :))))
kern_securelevel_enable="EVET" #Güvenliği etkinleştir
kern_securelevel="0" #Güvenlik türünü yükleme

Yani, rc.conf ile başladıktan sonra, Yönlendiricimizi DNS ile çalışacak şekilde yapılandırmamız gerekiyor, bunun için aynı klasörden resolv.conf dosyasını açıp buraya şunu yazmalıyız:

nameserver="167.65.88.18" #Sağlayıcımızın DNS sunucu adresleri
nameserver="167.65.88.17" #Sağlayıcımızın yedek DNS sunucusunun adresleri

Zaten anladığınız gibi, pençelerdeki nameserver = "" ifadesinin ardından
DNS sunucusu IP adresleri. Yerel ağın DNS sunucusu daha güzel Allah korusun 🙂 Ssh'a geldi.
Bunu sağlamamız 🙂 ve korumayı teşvik etmemiz gerekiyor,
Daha sonra /etc/ssh klasörüne gidin ve sshd_config dosyasını açın. Saldıracağım:

#sshd_config
Port 666 #Bu portta ssh mesajlarımız olacak 🙂
Protokol 2 #Vikorist'in en güvenli veri aktarım yöntemi
PermitRootLogin no #Sisteme root olarak giriş yapabilme özelliğini içerir, ihtiyaçlarımız için özel hesap yöneticisi oluşturuyoruz :)
PrintLastLog yes #Sistemden önceki son oturum açma tarihini görüntüler
PermitEmptyPasswords no #Kullanıcıların boş şifre ile giriş yapmasını yasaklar

Artık anlaştığımıza göre güvenlik duvarına geçelim.