
- •Астраханский государственный технический университет
- •Igrp (Interior Gateway Routing Protocol) — протокол маршрутизации, разрабо-танный фирмой Cisco для своих многопротокольных маршрутизаторов;
- •Установка операционной системы Linux Ubuntu Server и настройка её в качестве домашнего шлюза.
- •Настройка Linux роутера на базе дистрибутива Debian gnu/Linux
- •2.3 Теперь напишем скрипт чтобы он запускался при каждой загрузке системы и сохра-ним его в /etc/init.D/iptables.
Настройка Linux роутера на базе дистрибутива Debian gnu/Linux
1. Настройка PPPOE
1.1 Устанавливаем необходимые пакеты: #apt-get install pppoe pppd ifupdown
1.2 Настраиваем файл /etc/network/interfaces:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
#The loopback network interface auto lo iface lo inet loopback
# The primary network interface allow-hotplug eth0 iface eth0 inet dhcp
#The secondary network interface auto eth1 iface eth1 inet static address 192.168.0.1 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255
#The pppoe network interface auto nameprovider # имя вашего интернет провайдера iface nameprovider inet ppp provider nameprovider |
1.3 Создаем в директории /etc/ppp/peers/ файл nameprovider:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
user логин #вместо слова логин пишем свой который дал провайдер pty "/usr/sbin/pppoe -I eth0 -T 80 -m 1452" noipdefault usepeerdns defaultroute replacedefaultroute hide-password lcp-echo-interval 20 lcp-echo-failure 3 connect /bin/true noauth persist maxfail 5 mtu 1492 noaccomp default-asyncmap |
1.4 Вписываем в файл /etc/ppp/chap-secrets:
1 2 3 |
# Secrets for authentication using CHAP # client server secret IP addresses логин * пароль * |
1.5 Поднимаем интернет: #ifup nameprovider
Проверяем соединение: #ifconfig ppp0
2. Настройка шлюза.
2.1 Устанавливаем необходимые пакеты: #apt-get install dnsmasq rinetd
Dnsmasq это DHCP и DNS сервера в одной программе. Она может быть использована для создания подключения к интернету с возможностью автоматической выдачи IP адреса и одновременным кэшированием соответствия доменов их IP адресам (DNS-кэши-рование). Это кэширование дает отличный прирост скорости работы с интернетом, т.к. не нужно постоянно обращаться за IP адресом к DNS-серверу - он держит эти параметры у себя в кэше. Dnsmasq легковесное приложение, разработанное для персонального исполь-зования, или как DHCP сервер для сети, в которой не более 50 компьютеров.
2.2 Настройка iptables.
Создаем скрипт, и сохраним его в /etc/rc.router:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
#!/bin/bash
/sbin/modprobe ip_conntrack /sbin/modprobe iptable_nat /sbin/modprobe ip_nat_ftp
#Описываем переменные IPTS="/sbin/iptables" LAN="eth1" WAN="ppp0"
#Чистим правила $IPTS -F $IPTS -t nat -F
#Политики по умолчанию для трафика, не соответствующего ни одному из правил $IPTS -P INPUT ACCEPT $IPTS -P OUTPUT ACCEPT $IPTS -P FORWARD DROP
#Теперь закроем наши сервисы так, чтобы они могли работать только для LAN $IPTS -I INPUT 1 -i $LAN -j ACCEPT $IPTS -I INPUT 1 -i lo -j ACCEPT $IPTS -A INPUT -p UDP --dport bootps -i ! $LAN -j REJECT $IPTS -A INPUT -p UDP --dport domain -i ! $LAN -j REJECT
#Отбросим все TCP/UDP-пакеты, обращающиеся к привилегированным портам $IPTS -A INPUT -p TCP -i ! $LAN -d 0/0 --dport 0:1023 -j DROP $IPTS -A INPUT -p UDP -i ! $LAN -d 0/0 --dport 0:1023 -j DROP
#Сообщаем ядру, что ip-форвардинг разрешен echo "1" > /proc/sys/net/ipv4/ip_forward
#Добавляем правила для NAT $IPTS -I FORWARD -i $LAN -d 192.168.0.0/255.255.255.0 -j DROP $IPTS -A FORWARD -i $LAN -s 192.168.0.0/255.255.255.0 -j ACCEPT $IPTS -A FORWARD -i $WAN -d 192.168.0.0/255.255.255.0 -j ACCEPT $IPTS -t nat -A POSTROUTING -o $WAN -j MASQUERADE
#время жизни пакета данных в протоколе IP $IPTS -t mangle -A OUTPUT -o $WAN -j TTL --ttl-set 64
#запрещаем пинг $IPTS -A INPUT -i eth0 -p icmp --icmp-type 8 -j DROP $IPTS -A INPUT -i $WAN -p icmp --icmp-type 8 -j DROP
#Пробрасываем нужные порты # для ФТП $IPTS -t nat -A PREROUTING -p tcp --dport ftp-data -i $WAN -j DNAT --to 192.168.0.102 $IPTS -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT $IPTS -t nat -A PREROUTING -p tcp --dport 1024 -i $WAN -j DNAT --to 192.168.0.102 $IPTS -t nat -A PREROUTING -p tcp --dport ftp -i $WAN -j DNAT --to 192.168.0.102 $IPTS -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT # для Веб сервера $IPTS -t nat -A PREROUTING -p tcp --dport 80 -i $WAN -j DNAT --to 192.168.0.101 # для игрового сервера $IPTS -t nat -A PREROUTING -p tcp --dport 2106 -i $WAN -j DNAT --to 192.168.0.40 $IPTS -t nat -A PREROUTING -p tcp --dport 7777 -i $WAN -j DNAT --to 192.168.0.40 # для ДНС сервера $IPTS -t nat -A PREROUTING -p tcp --dport 53 -i $WAN -j DNAT --to 192.168.0.103 $IPTS -t nat -A PREROUTING -p udp --dport 53 -i $WAN -j DNAT --to 192.168.0.103 # Почтовый сервер $IPTS -t nat -A PREROUTING -p udp --dport 110 -i $WAN -j DNAT --to 192.168.0.10 $IPTS -t nat -A PREROUTING -p tcp --dport 25 -i $WAN -j DNAT --to 192.168.0.10 |
Задаем права на выполнения, #chmod +x rc.router