Sem acesso à Internet do cliente ao configurar estas regras iptables

2

Li muitos outros posts, mas não consigo descobrir isso.

eth0 é meu externo conectado a um modem Comcast. O servidor tem acesso à Internet sem problemas.

eth1 é um DHCP interno e em execução para os clientes. Eu tenho DHCP funcionando muito bem, todos os meus clientes podem obter um IP e ping no servidor, mas eles não podem acessar a internet.

Estou usando o ISC-DHCP-SERVER e configurei / etc / default / isc-dhcp-server para INTERFACE="eht1"

Aqui está o meu arquivo dhcpd.conf localizado em /etc/dhcp/dhcpd.conf

ddns-update-style interim;
ignore client-updates;

subnet 10.0.10.0 netmask 255.255.255.0 {
range 10.0.10.10 10.0.10.200;
option routers 10.0.10.2;
option subnet-mask 255.255.255.0;
option domain-name-servers 208.67.222.222, 208.67.220.220; #OpenDNS
#   option domain-name "example.com";
default-lease-time 21600;
max-lease-time 43200;

    authoritative;
}

Eu fiz a modificação de * net.ipv4.ip_forward = 1 * em /etc/sysctl.conf

aqui está o meu arquivo de interfaces:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet dhcp

iface eth1 inet static
address 10.0.10.2
netmask 255.255.255.0
network 10.0.10.0

auto eth1

E finalmente- aqui está o meu arquivo iptables.conf :

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*nat
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.0.10.0/24 -o eth0 -j MASQUERADE
#-A PREROUTING -i eth0 -p tcp --dport 59668 -j DNAT --to-destination 10.0.10.2:59668
COMMIT
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth1 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT
-A FORWARD -s 10.0.10.0/24 -o eth0 -j ACCEPT
-A FORWARD -d 10.0.10.0/24 -m state --state ESTABLISHED,RELATED -i eth0 -j ACCEPT
-A FORWARD -p icmp -j ACCEPT
-A FORWARD -i lo -j ACCEPT
-A FORWARD -i eth1 -j ACCEPT
#-A FORWARD -i eth0 -m state --state NEW -m tcp -p tcp -d 10.0.10.2 --dport 59668 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

Estou completamente preso. Eu não consigo descobrir porque os clientes não podem acessar a internet. Estou perdendo um serviço? Um serviço não está em execução? Qualquer ajuda seria muito apreciada. Eu tentei ser o mais completo possível, mas por favor, deixe-me saber se eu perdi alguma coisa. Obrigada!

    
por Siriss 15.11.2011 / 15:46

1 resposta

4

A questão está no meu iptables, embora eu não tenha certeza de onde. Uma varredura limpa consertou-o para ser meu cavalheiro em fóruns do Ubuntu.

iptables --flush
iptables --table nat --flush
iptables --delete-chain
#
#
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m conntrack --ctstate NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth1 -j ACCEPT

Espero que isso ajude os outros! Agora tenho que adicionar cada regra uma por uma novamente. Obrigado a todos pela ajuda.

Além disso, você deve salvar seus iptables com iptables-save > /somewhere/iptables.conf (ou algum nome de arquivo) e, em seguida, adicione uma pré-inicialização iptables-restore < /somewhere/iptables.conf (ou qualquer outro) em eth0 em / etc / network / interfaces .

Isso fará com que a lista de regras seja carregada antes que o nic esteja ativo. Certifique-se de salvar novamente quando fizer alterações no iptables.

    
por Siriss 16.11.2011 / 00:02