Для роздачі інтернету по мережі, створіть файл .sh. Наприклад, iptables.sh.
touch iptables.sh
Цей файл повинен містити наступне:
#!/bin/sh
iptables -t nat -F
#Setup default policies to handle unmatched traffic
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
#Copy and paste these examples ...
export LAN=eth1
export WAN=ppp0
export WAN2=eth0
#Then we lock our services so they only work from the LAN
iptables -I INPUT 1 -i ${LAN} -j ACCEPT
iptables -I INPUT 1 -i lo -j ACCEPT
iptables -A INPUT -p UDP --dport bootps ! -i ${LAN} -j REJECT
iptables -A INPUT -p UDP --dport domain ! -i ${LAN} -j REJECT
#(Optional) Allow access to our ssh server from the WAN
iptables -A INPUT -p TCP --dport ssh -i ${WAN} -j ACCEPT
iptables -A INPUT -p TCP --dport ssh -i ${WAN2} -j ACCEPT
#Drop TCP / UDP packets to privileged ports
iptables -A INPUT -p TCP ! -i ${LAN} -d 0/0 --dport 0:1023 -j DROP
iptables -A INPUT -p UDP ! -i ${LAN} -d 0/0 --dport 0:1023 -j DROP
#allow bittorent incoming client request
iptables -A INPUT -p tcp --destination-port 6881:6999 -j ACCEPT
iptables -A FORWARD -d 192.168.0.10 -p tcp --dport 6881 -j ACCEPT
iptables -t nat -A PREROUTING -i ${WAN2} -p tcp --dport 6881 -j DNAT --to-destination 192.168.0.10
iptables -t nat -A PREROUTING -i ${WAN} -p tcp --dport 6881 -j DNAT --to-destination 192.168.0.10
#Finally we add the rules for NAT
iptables -I FORWARD -i ${LAN} -d 192.168.0.0/255.255.0.0 -j DROP
iptables -A FORWARD -i ${LAN} -s 192.168.0.0/255.255.0.0 -j ACCEPT
iptables -A FORWARD -i ${WAN2} -d 192.168.0.0/255.255.0.0 -j ACCEPT
iptables -A FORWARD -i ${WAN} -d 192.168.0.0/255.255.0.0 -j ACCEPT
iptables -t nat -A POSTROUTING -o ${WAN2} -j MASQUERADE
iptables -t nat -A POSTROUTING -o ${WAN} -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.0.1/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.0.1/24 -j MASQUERADE
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
/etc/init.d/iptables save
echo 1 > /proc/sys/net/ipv4/ip_forward
У вищеописаній конфігурації використовувалося два інтерфейси для виходу в інтернет: eth0 - надає локальні ресурси і ppp0 - власне інтернет. Якщо Вам не потрібні локальні ресурси, то достатньо видалити всі рядки, в яких зустрічається конструкція $ {WAN2}
Щоб роздача інтернету включалася автоматично при запуску системи, відкриваємо файл /etc/sysctl.conf:
nano -w /etc/sysctl.conf
або
mcedit /etc/sysctl.conf
знаходимо рядки
# Disables packet forwarding
net.ipv4.ip_forward = 0
і змінюємо на:
# Disables packet forwarding
net.ipv4.ip_forward = 1
Запускаємо файл iptables.sh і отримуємо інтернет на всіх машинах підмережі:
sh iptables.sh
Машини повинні бути в тій же підмережі, а шлюз за замовчуванням - IP-адреса машини, яка роздає інтернет. В даном випадку - це IP-адреса інтерфейсу eth1.