Cu toții avem acel utilizator care trebuie să acceseze doar o anumită gamă de IP-uri într-o rețea în care toată lumea are acces la internet, așa că...
# IP înainte
echo "1" > /proc/sys/net/ipv4/ip_forward
# Curăță
iptables -F
iptables -X
iptables -F -t nat
iptables -X -t nat
# Să scăpăm
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP.
iptables -A INPUT -m stare --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m stare --state ESTABLISHED,RELATED,NEW -j ACCEPT
iptables -A FORWARD -m stare --state ESTABLISHED,RELATED,NEW -j ACCEPT
# Mascarea
iptables -A POSTROUTING -t nat -o $IF_EXTERNAL -j MASQUERADE
# PERMITAȚI NUMAI LISTA DE ACCES LA 192.168.10.10 RESTUL INTERNETULUI ESTE BLOCAT
ALLOW_IP_RANGE="8.8.4.0/24 8.8.8.0/24 8.34.208.0/20 8.35.192.0/20 23.236.48.0/20"
iptables -N ALLOWIPRANGE
pentru IPLIST în $ALLOW_IP_RANGE; do
iptables -I FORWARD -m tcp -p tcp --destination $IPLIST -j ALLOWEDIPS
Terminat
iptables -I ALLOWEDIPS -s 192.168.10.10 -j ACCEPT
iptables -A FORWARD -s 192.168.10.10 -j REJECT
# Redirecționați restul internetului către toți ceilalți
iptables -A FORWARD -i @IF_INTERNAL -j ACCEPT
Acest lucru nu funcționează și am încercat să mut:
iptables -A FORWARD -s 192.168.10.10 -j REJECT
de la început până la sfârșit, dar IP-ul primește în continuare internet complet.