Motivação:
Quero usar meu servidor linux em vez do roteador sem fio médio por vários motivos
- Quero aprender como configurar um servidor mais completo no linux
- Não quero ter um modem conectado a um roteador, conectado a um comutador de rede
- Estou enjoado de ter que desconectar meu roteador a cada 10 dias porque ele simplesmente trava
- Estou cansado de comprar roteadores apenas para perceber que estão faltando algo crucial, como encaminhamento de porta ou endereçamento IP estático (dhcp)
Configuração:
Por fim, a conexão entra em um modem e diretamente no meu servidor eth0
, e depois eth1
gera um switch de rede ao qual todos os outros computadores clientes se conectam via cabos ethernet (esqueça a conexão sem fio no momento). Atualmente, no entanto, estou em um prédio de escritórios e tenho a conexão entrando em um modem, que entra em um roteador, que entra em um switch de rede, que entra eth0
como especificado acima.
Tutoriais atuais:
Eu olhei para alguns tutoriais (o tutorial do Ubuntu é o melhor), e para algumas das perguntas do roteador aqui ( por exemplo , esta ), mas todas abordam vários conceitos-chave, como:
- Qual é
eth1
a relaçãoeth0
? Em/etc/network/interfaces
que devo informareth1
para usareth0
como onetwork
(geralmente é o endereço físico do roteador)? - Preciso fazer algo para instruir
eth1
a acessar a Internet que entraeth0
e passá-la para quem quiser no comutador de rede?
Abordagem atual:
Aqui está o meu /etc/network/interfaces
arquivo no servidor:
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
E ifconfig
me diz que as duas placas de rede estão funcionando bem:
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)
E aqui está o que route -n returns
no servidor:
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
Então no cliente eu tenho
auto lo
iface lo inet loopback
iface eth0 inet dhcp
Mas não está sendo atribuído um endereço IP.
EDIT: Aqui está o arquivo de configuração isc-dhcp-server localizado no /etc/dhcp3/dhcpd.con
qual eu copiei principalmente deste site .
# 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: Saída desudo 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
Questão:
Quais etapas / componentes cruciais estão faltando nesta configuração?
fonte
dhcp
(e, portantodhcpd
), não é obrigatório e serve apenas para centralizar todos os ips estáticos no servidor (em vez de alterar o/etc/network/interfaces
arquivo em todos os hosts). Portanto, decidi não experimentar isso até que isso funcione. No entanto, eudhcp3-server
instalei, bem comoisc-dhcp-server
dhcpd.conf
arquivo e indiquei que estou usando #isc-dhcp-server
Respostas:
Eu tenho que ir como Jack, o Estripador, devido a várias coisas ausentes que você tem:
Se o seu cliente usar o DHCP para obter os IPs, você precisará de um servidor DHCP.
Nos clientes, isso indica que eles obterão seus IPs de um servidor DHCP; se você não configurou um servidor DHCP, use IPs fixos ou instale um servidor DHCP.
Você não tem servidores DNS configurados nos clientes. Devido à falta de servidor DHCP, ou você pode querer usar um servidor DNS local para toda a sua rede.
Você não ofereceu as
iptables
regras (a saída desudo iptables -L
), mas eu pude supor que você não ativou as regras Masquerade, nem o encaminhamento de IP, conforme descrito .O endereço IP de
eth1
não é recomendado. Qualquer IP finalizado0
normalmente é a própria rede, e a maioria dos roteadores / firewall fica confusa quando usados . Mude para192.168.7.1
e você ficará bem.Seu
broadcast
valor naeth1
interface não está correto. Está enviando pacotes para lugar nenhum. O valor correto (levando em consideração outros valores da interface) é192.168.7.255
.Suas opções no servidor DHCP são cruéis. Os pacotes ARP para o seu roteador nunca chegarão. Isto é o que você deve ter:
Siga estes e provavelmente você terá seu roteador funcionando.
fonte
sudo iptables -L
para question192.168.7.255
e linha 8subnet 192.168.7.0
.255
é o endereço de transmissão usado normalmente; qualquer pacote enviado para essa direção será enviado a todos os sistemas nas mesmas sub-redes. O que significa que qualquer pacote enviado para 1.2.3.255 ele vai ser recebido por qualquer sistema que início de IP com 1.2.3 pois todos eles estão na mesma sub-rede en.wikipedia.org/wiki/Subnetwork#IPv4_subnettingdhcp
ou a rede. Irá fazer um endereço IP estático para testar. para o IP estático no cliente, eu usoeth1
o endereço IP como gateway?Braiam respondeu à minha pergunta, mas achei que seria útil fazer uma explicação completa aqui. Atualize isso se eu cometi algum erro.
Primeiro, verifique se você possui duas placas Ethernet (NICs) e atualize o
/etc/network/interfaces
arquivo como tal ( não confunda isso com o/etc/networks
arquivo).Para encontrar o seu
gateway
,broadcast
enetwork
siga estas instruções .Em seguida, entre no cliente e edite o arquivo
/etc/network/interface
(novamente, não/etc/networks
) para o IP estático primeiro, para garantir que pelo menos a placa NIC esteja funcionando.Altere os valores para corresponder aos valores acima. Se funcionar, ótimo, então use as instruções aqui , mas segui-las exatamente , pois há vários
dhcp
arquivos para que não confunda a pasta/etc/dhcp
com/etc/dhcp3
e assim por diante.fonte