Ubuntu-RouterИмеем канал 10мбит от жадного провайдера ,и троих (пока) желающих иметь инет !!
Поиски героических советов по этому форуму наводили на грустные мысли (простого решения так и не нашел) !!
-----------------------------------------------------------------------------------------------------------
Но Гугл все таки помог решить проблему .
Железо :: P2-450мгц +четыре сетевые карты
1 - ставим Ubuntu 10.04.3 server
2 - ставим на него dnsmasq,mc,ssh ,bmon,vnstat
===================================================
Поднимаем роутерПишем в файл /etc/network/interfaces
auto lo
iface lo inet loopback
#INTERNET
auto eth3
iface eth3 inet static
address 192.168.1.200
netmask 255.255.255.0
gateway 192.168.1.1
#LAN 0
auto eth0
iface eth0 inet static
address 192.168.30.1
netmask 255.255.255.0
#post-up /etc/nat
#LAN 1
auto eth1
iface eth1 inet static
address 192.168.10.1
netmask 255.255.255.0
#post-up /etc/nat
#LAN 2
auto eth2
iface eth2 inet static
address 192.168.20.1
netmask 255.255.255.0
post-up /etc/nat
# Правила шейпера
post-up /sbin/tc qdisc add dev eth0 root tbf rate 2mbit latency 100ms buffer 4096
post-up /sbin/tc qdisc add dev eth1 root tbf rate 5mbit latency 100ms buffer 4096
post-up /sbin/tc qdisc add dev eth2 root tbf rate 3mbit latency 100ms buffer 4096
===========================================================================================
Настраиваем NATСоздаем файл
touch /etc/nat
пишем в файл
#!/bin/sh
# Включаем форвардинг пакетов
echo 1 > /proc/sys/net/ipv4/ip_forward
# Разрешаем трафик на loopback-интерфейсе
iptables -A INPUT -i lo -j ACCEPT
# Разрешаем доступ из внутренней сети наружу
iptables -A FORWARD -i eth1 -o eth3 -j ACCEPT
iptables -A FORWARD -i eth2 -o eth3 -j ACCEPT
iptables -A FORWARD -i eth0 -o eth3 -j ACCEPT
# Включаем NAT
iptables -t nat -A POSTROUTING -o eth3 -s 192.168.10.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth3 -s 192.168.20.0/24 -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth3 -s 192.168.30.0/24 -j MASQUERADE
# Разрешаем ответы из внешней сети
iptables -A FORWARD -i eth3 -m state --state ESTABLISHED,RELATED -j ACCEPT
# Запрещаем доступ снаружи во внутреннюю сеть
iptables -A FORWARD -i eth3 -o eth1 -j REJECT
iptables -A FORWARD -i eth3 -o eth2 -j REJECT
iptables -A FORWARD -i eth3 -o eth0 -j REJECT
В файл
/etc/network/interfaces
в самый конец дописываем (видно в первом спойлере)
post-up /etc/nat
сохраняем и даем права на исполнение:
chmod +x /etc/nat
================================================================================
В файл
/etc/resolv.conf
Пишем свои DNS - у меня допустим так после DIR-320
nameserver 192.168.1.1
nameserver 10.40.200.1 (провайдер)
Естественно сохраняем
================================================================================
В файл
/etc/dnsmasq.conf
пишем
listen-address=127.0.0.1, 192.168.10.1
listen-address=127.0.0.1, 192.168.20.1
listen-address=127.0.0.1, 192.168.30.1
dhcp-range=192.168.10.100,192.168.10.150,255.255.255.0,12h
dhcp-range=192.168.20.100,192.168.20.150,255.255.255.0,12h
dhcp-range=192.168.30.100,192.168.30.150,255.255.255.0,12h
сохраняем
================================================================================
Ну все это перезапускаем
/etc/init.d/dnsmasq restart
/etc/init.d/networking restart
================================================================================
Нассчет шейпера --- шейпим только по интерфейсам eth0 eth1 итд примерно таким правилом ,
для дома больше и не нужно!!tc qdisc add dev eth0 root tbf rate 5mbit latency 100ms buffer 4096
И дописываем правила для интерфейсов в
/etc/network/interfaces
Допустим для eth1 так
post-up /sbin/tc qdisc add dev eth1 root tbf rate 5mbit latency 100ms buffer 4096
=================================================================================
Все настраивалось по SSH и WINSCP (был создан пользователь root и пароль для него
Все записи в файлах написаны под свои нужды и сетевые карты
================================================================================
Всё найденно на просторах инета ! но не на этом форуме !!