1. Установим dnsmasq. DNS Форвардер и DHCP сервер
sudo aptitude install dnsmasqДля того чтобы он нормально работал надо в конфиге прописать диапазон ip адресов которые будет раздавать строенный DHCP сервер:
sudo nano /etc/dnsmasq.conf
Найдем, отредактируем и раскомментируем следующую строку:
dhcp-range=192.168.0.50,192.168.0.100,255.255.255.0,12h
2. Теперь необходимо создать скрипт, который будет задавать правила IPTABLES. (Пусть он будет располагаться в /etc/fw.config) :
#!/bin/sh
iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -i eth1 -d ! 192.168.0.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to 192.168.1.2:3128
ppp0 - интерфейс соединенный с Интернет
192.168.1.2:3128 - адрес и порт нашего прокси.)
Если вы хотите пропускать весь трафик и не перенаправлять его на прокси, тогда скрипт должен выглядеть следующим образом:
#!/bin/sh
iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -i ppp0 -o eth1 -s 192.168.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A POSTROUTING -t nat -j MASQUERADE
3. Создать скрипт, который будет удалять все правила IPTABLES (Пусть он будет располагаться в /etc/fwstop.config) :
#!/bin/shiptables -F INPUTiptables -F FORWARDiptables -F OUTPUTiptables -t nat -F PREROUTINGiptables -t nat -F POSTROUTING
4. Если вы еще не настроили соединение ADSL, тогда нужно выполнить команду:
sudo pppoeconf
Следуя подсказкам настроить соединение.После этого в файле настройки сети (/etc/network/interfaces) появится наше pppoe соединение.
5.Теперь нам необходимо добавить наши скрипты в автозагрузку при установке Интернет соединения. Отредактируем файл /etc/network/interfaces так чтобы при активности ppp0 запускался скрипт добавляющий правила IPTABLES, а при нарушении активности все правила очищались. Для этого сделаем следующее:
sudo nano /etc/network/interfaces
после строк с ADSL подключением надо написать следующее:
pre-up /etc/fw.config #IPTABLES startpost-down /etc/fwstop.config #IPTABLES stop
В итоге должно получится что-то вроде этого:
# The loopback network interfaceauto loiface lo inet loopback
# The primary network interface & DSL interfaceauto eth0iface eth0 inet staticaddress 192.168.1.2netmask 255.255.255.0network 192.168.1.0broadcast 192.168.1.255gateway 192.168.1.1dns-nameservers 192.168.1.1post-up iptables-restore < /etc/iptables.up.rules
# dns-* options are implemented by the resolvconf package, if installed
# The secondary network interfaceauto eth1iface eth1 inet staticaddress 192.168.0.1netmask 255.255.255.0
# PPP0 DSL Interfaceauto dsl-provideriface dsl-provider inet ppppre-up /sbin/ifconfig eth0 up # line maintained by pppoeconfprovider dsl-providerpre-up /etc/fw.config #IPTABLES startpost-down /etc/fwstop.config #IPTABLES stop
Комментариев нет:
Отправить комментарий