Bir linux sunucusu yönlendirici olarak nasıl kurulur


34

Motivasyon:

Birkaç nedenden dolayı ortalama kablosuz yönlendirici yerine linux sunucumu kullanmak istiyorum

  1. Linux'ta daha eksiksiz bir sunucu kurmayı öğrenmek istiyorum.
  2. Modem, yönlendiriciye bağlı, bir ağ anahtarına bağlı olmak istemiyorum
  3. Her 10 günde bir yönlendiricimin fişini çekmek zorunda kalmaktan bıktım ve yorgunum
  4. Port yönlendirme veya statik ip adresleme (dhcp) gibi yalnızca önemli bir şeyi kaçırdıklarını fark etmek için yönlendiriciler satın almaktan bıktım.

Kurmak:

Sonuçta, bağlantı bir modeme girecek ve doğrudan sunucumun içine girecek eth0, sonra eth1diğer tüm istemci bilgisayarların ethernet kablolarıyla bağlanacağı bir ağ anahtarına (şu an için kablosuz unutacaktır) çıkacaktır. Bununla birlikte, şu anda bir ofis binasındayım ve bir yönlendiriciye giden ve sonra eth0yukarıda belirtildiği gibi bir ağ anahtarına giden bir modeme giden bir bağlantım var .

Güncel Öğreticiler:

Bazı eğiticilere baktım ( Ubuntu öğreticisi en iyisidir) ve buradaki yönlendirici soruların bazılarına baktım (yani , bu ), ancak hepsi aşağıdaki gibi bazı temel kavramlara dikkat çeker:

  • eth1İle ilişkisi nedir eth0? Gelen /etc/network/interfacesanlarım gerekiyor eth1kullanmak eth0olarak network(genellikle gerçek fiziksel yönlendirici adresidir)?
  • Gelen eth1interneti alıp eth0ağ anahtarında kim isterse iletmek için talimat vermek için bir şey yapmalı mıyım?

Güncel Yaklaşım:

İşte /etc/network/interfacessunucudaki dosyam:

iface lo inet loopback

auto eth0
   iface eth0 inet static
   address 192.168.1.70
   netmask 255.255.255.0
   broadcast 192.168.1.255
   network 192.168.1.0
   gateway 192.168.1.1
   dns-nameservers 8.8.8.8

auto eth1
   # iface eth1 inet dhcp
   iface eth1 inet static
   address 192.168.7.0
   netmask 255.255.255.0
   broadcast 192.168.1.255
   network 192.168.1.0

Ve ifconfigbana her iki NIC'nin de iyi çalıştığını söylüyor:

eth0      Link encap:Ethernet  HWaddr 20:cf:30:55:a0:5f  
          inet addr:192.168.1.70  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::22cf:30ff:fe55:a05f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:11297 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16639 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:948633 (948.6 KB)  TX bytes:1274685 (1.2 MB)

eth1      Link encap:Ethernet  HWaddr 00:11:95:f7:f4:6d  
          inet addr:192.168.7.0  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::211:95ff:fef7:f46d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:243 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3231 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:29934 (29.9 KB)  TX bytes:213055 (213.0 KB)
          Interrupt:21 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:5348 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5348 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:470737 (470.7 KB)  TX bytes:470737 (470.7 KB)

wlan0     Link encap:Ethernet  HWaddr bc:f6:85:f8:70:5c  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

Ve işte route -n returnssunucuda ne var:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth1
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
192.168.7.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1

Sonra müşterim var

auto lo
iface lo inet loopback
iface eth0 inet dhcp

Ancak bir ip adresi atanmıyor.

EDIT: İşte en /etc/dhcp3/dhcpd.conçok bu siteden kopyaladığım isc-dhcp-server yapılandırma dosyası .

# Sample /etc/dhcpd.conf                                                                                                                                                  
# (add your comments here) 
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.1, 192.168.1.2;
option domain-name "mydomain.example";

subnet 192.168.7.0 netmask 255.255.255.0 {
   range 192.168.7.10 192.168.7.25;
}  

EDIT: Çıktısudo iptables -L

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy DROP)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED
ACCEPT     all  --  anywhere             anywhere            
LOG        all  --  anywhere             anywhere             LOG level warning

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Soru:

Bu kurulumda hangi önemli adımları / bileşenleri kaçırıyorum?


Hangi dhcpd kullanıyorsunuz
TML,

@TML Anladığım kadarıyla dhcp(ve dolayısıyla dhcpd) zorunlu değildir ve sadece sunucudaki tüm statik ips'leri merkezlemek içindir ( her ana bilgisayardaki /etc/network/interfacesdosyayı değiştirmek yerine ). Bu nedenle, bu işe yarayana kadar bunu denememeye karar verdim. Ancak, yüklü olduğu gibidhcp3-serverisc-dhcp-server
puk 14:13

İstemcinin dhcp'den bir IP adresi almasını istiyorsanız, bir dhcpd çalıştırmanız gerekir; Bu dhcpd'lerden hangisi için aktif olan yapılandırmayı göndermelisiniz, çünkü sorunun kaynağı burada olacaktır: istemci IP alamıyor. Şahsen, dnsmasq'ı da öneririm, çünkü beraberinde DNS çözümlemesi için bazı yararlı özellikler de getiriyor.
TML,

@TML Eklediğim dhcpd.confdosya ve kullanıyorum belirttiisc-dhcp-server
PUK

1
İki nokta daha eklemelisiniz: 5. Cihazın sadece kısmi kontrolüne sahip olmaktan bıktım. 6. Potansiyel olarak arka kapısı olabilecek bir yönlendiriciye sahip olmaktan bıktım. Nokta # 6 şu anda herhangi bir yönlendiricide bulunabilecek gerçek bir şeydir. Bazı yönlendiriciler, kodlanmış parola veya gizlice bazı bağlantı noktalarını dinlemeniz gibi ek özelliklerle birlikte gelir.
Ignas2526

Yanıtlar:


16

Sahip olduğun bazı eksik şeylerden dolayı Ripper Jack gibi gitmeliyim:

  1. İstemciniz IP almak için DHCP kullanacaksa, bir DHCP sunucusuna ihtiyacınız vardır.

    iface eth0 inet dhcp

    İstemcilerde bu, bir DHCP sunucusu kurmadıysanız, IP'lerini DHCP sunucusundan alacağını belirtir, ya sabit IP kullanmalı ya da bir DHCP sunucusu kurmalısınız.

  2. İstemcilerde yapılandırılmış DNS sunucularının eksikliği. DHCP sunucusu olmadığı için veya tüm ağınız için yerel bir DNS sunucusu kullanmak isteyebilirsiniz.

  3. Sen sunulan vermedi iptables(çıktısını kuralları sudo iptables -L) ama Maskeli kurallarını devreye, ne de IP yönlendirme olmadığını tahmin edebileceği açıklandığı gibi .

  4. IP adresi eth1önerilmez. Sona eren herhangi bir IP 0genellikle ağın kendisidir ve çoğu yönlendirici / güvenlik duvarı, bunlar kullanıldığında hemen karışır . Bunu değiştirin 192.168.7.1ve çoğunlukla iyi olacaksınız.

  5. Kişisel broadcastdeğer eth1arayüzüne doğru değil. Hiçbir yere paket gönderiyor. Doğru değer (arayüzün diğer değerleri dikkate alınarak) 192.168.7.255.

  6. DHCP sunucusundaki seçenekleriniz çok kötü. Yönlendiricinize yönelik ARP paketleri asla erişemez. Sahip olmanız gereken şey bu:

    default-lease-time 600;
    max-lease-time 7200;
    option subnet-mask 255.255.255.0;
    option broadcast-address 192.168.7.255;
    option routers 192.168.7.1; ## This should be the same value of the step 4
    option domain-name-servers 8.8.8.8;
    
    subnet 192.168.7.0 netmask 255.255.255.0 {
        range 192.168.7.10 192.168.7.25;
    }

Bunları izleyin ve büyük olasılıkla yönlendiricinizin çalışmasını sağlayabilirsiniz.


sudo iptables -LSorunun çıktısı eklendi
puk 14/13 te

Seçici olmamak, ancak bu cevabı okuyan herhangi birinin çıkarları için, bu dhcpd.conf değerlerinden bazılarının ne olduğunu açıklayabilir misiniz: satır 4 192.168.7.255ve satır 8subnet 192.168.7.0
puk

Yorumlarda açıklamak için çok karmaşık olan, ancak güzel bir şekilde söylemek gerekirse .255, normalde kullanılan yayın adresi olan puk, bu yöne gönderilen herhangi bir paket aynı alt ağlardaki tüm sistemlere gönderilecektir. Herhangi bir paket hepsi beri 1.2.3 ile IP'nin başlangıç aynı alt ağ olan 1.2.3.255 herhangi sistem tarafından kabul edilecek gönderdiği Anlamı en.wikipedia.org/wiki/Subnetwork#IPv4_subnetting
Braiam

Çalışmıyor. Sorunun mu dhcpyoksa ağ mı olduğunu görmek istiyorum . Test etmek için statik bir ip adresi yapacaktır. istemcideki statik ip için eth1ip adresini ağ geçidi olarak mı kullanırım?
puk,

1
Muhtemelen, yönlendiricinin eth1'deki yayın ve ağ 192.168.7.x yerine 192.168.1.x'i işaret ettiğinden; yönlendiricideki eth1'den istemcide eth0'a kadar konuşamazsanız, DHCPACK'ler istemciye asla ulaşmaz (ve dolayısıyla hiçbir zaman IP'yi alamaz).
TML,

9

Braiam sorumu cevapladı, ama buraya tam bir adım atmanın faydalı olacağını düşündüm. Herhangi bir hata yaptıysam lütfen bunu güncelleyin.

İlk yapmak emin iki ethernet kartı (NIC) ve güncellemek /etc/network/interfacesböyle (yok gibi dosya değil bu hata /etc/networksdosyası).

iface lo inet loopback                                                                                                                    

auto eth0
   iface eth0 inet static
   address 192.168.1.70
   netmask 255.255.255.0
   broadcast 192.168.1.255
   network 192.168.1.0
   gateway 192.168.1.1
   dns-nameservers 8.8.8.8

auto eth1
   iface eth1 inet static
   address 192.168.7.1
   netmask 255.255.255.0
   broadcast 192.168.7.255
   network 192.168.1.0

Bulmak senin için gateway, broadcastve networkizleyin bu talimatları .

Ardından, istemciye gidin ve en azından NIC kartının çalıştığından emin olmak için önce statik ip için /etc/network/interface(tekrar değil /etc/networks ) dosyasını düzenleyin .

iface eth0 inet static
address 192.168.7.75
netmask 255.255.255.0
network 192.168.7.0
broadcast 192.168.7.255
gateway 192.168.7.1

Yukarıdaki değerlerle eşleşecek değerleri değiştirin. Eğer çalışırsa, büyük, ardından talimatları kullanın burada ama onları takip aynen birkaç bulunmasından ötürü, dhcpdosyaları böylece klasör yanılmıyorsam /etc/dhcpile /etc/dhcp3benzeri ve.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.