Eu fiz algo parecido em um servidor do Arch. O servidor tinha enp4s8
como a rede "externa" e wlp1s0
como a rede "interna". enp4s8
tinha um endereço IP definido de 10.0.0.3 e uma rota padrão para 10.0.0.1, o modem DSL.
/usr/bin/ip link set dev wlp1s0 up
/usr/bin/ip addr add 172.16.0.1/24 dev wlp1s0
sleep 10
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 172.16.0.0/24 -j MASQUERADE
iptables -A FORWARD -o enp4s8 -i wlp1s0 -s 172.16.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
dhcpd -cf /etc/dhcpd.wlp1s0.conf wlp1s0
Você pode não ter o encaminhamento IPv4 ativado e, por vezes, é difícil obter o iptables
.
A outra parte do truque está em /etc/dhcpd.wlp1s0.conf
. Eu acho que você tem que dizer as máquinas na rede "interna" sobre sua rota padrão e roteador com DHCP:
option domain-name "fleegle";
option domain-name-servers 172.16.0.1;
option routers 172.16.0.1;
option ntp-servers 10.0.0.3;
default-lease-time 14440;
ddns-update-style none;
deny bootp;
shared-network intranet {
subnet 172.16.0.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
pool { range 172.16.0.50 172.16.0.200; }
}
}