Andy home page
Главное меню
Главная
Категории
Статьи
Файлы
Ссылки
Архив
Поиск
Галлерея
Гостевая
Опросы
Сетевой калькулятор
NES Emulator
Музей
Обратная связь

Кто на сайте
Добро пожаловать,
Гость

ВойтиВойти
РегистрацияРегистрация
Забыли Пароль?Забыли Пароль?

Посетителей онлайн
ПользователейПользователей: 0
ГостейГостей: 44
_BOTБотов: 3
ВсегоВсего: 47

Server Time
Время: 10:15:27
Дата: 23/11/24
Календарь
Ссылки

Настройка Linux роутера на базе дистрибутива Debian GNU/Linux
Напечатать текущую страницу
Linux

Настройка Linux роутера на базе дистрибутива Debian GNU/Linux




1.Настройка PPPOE
1.1 Устанавливаем необходимые пакеты: #apt-get install pppoe pppd ifupdown
1.2 Настраиваем файл /etc/network/interfaces:
 
#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 :


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:

# 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 компьютеров.
https://wiki.archlinux.org/index.php/Dnsmasq
2.2 Настройка iptables
   Создаем скрипт чтобы каждый раз не писать все заново, и сохраним его в /etc/rc.router :
  
#!/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 
 
2.3 Теперь напишем скрипт чтобы он запускался при каждой загрузке системы и сохраним   в /etc/init.d/iptables

#!/bin/bash

IPTAB="/sbin/iptables"
RUN="/bin/bash"
PATH="/sbin:/bin:/usr/sbin:/usr/bin"
NAME="$0"
N="/etc/init.d/$NAME"

if [ ! -f /etc/rc.router ]; then
   echo "/etc/rc.router does not exist"
   exit 0
fi

case "$1" in
   start|restart)
   echo -n "Starting up iptables...."
   $RUN /etc/rc.router
   echo "DONE."
   ;;
   stop)
   $IPTAB -t filter -F
   $IPTAB -t filter -X
   $IPTAB -t nat -F
  $IPTAB -t nat -X
   $IPTAB -t mangle -F
   $IPTAB -t mangle -X
   echo "DONE."
   exit 0;
   ;;
*)
   echo "Usage: $N {start|restart|stop}">&2
   exit 1
   ;;
esac
exit 0
 И даем права на выполнения, #chmod +x iptables
 
2.4 Теперь создадим символические ссылки для /etc/init.d/iptables
/etc/rc0.d/K20iptables # завершение скрипта при выключении
/etc/rc1.d/S20iptables # запуск при single user mode
/etc/rc2.d/S20iptables # запуск при multi user mode
/etc/rc6.d/K20iptables # завершения скрипта при перезагрузки
 
2.5 Настрока rinetd (port forward)
 
Перейдем в папку «/etc» и найдем там файл «rinetd.conf»
Отредактируем файл таким образом:

#
# this is the configuration file for rinetd, the internet redirection server
#
# you may specify global allow and deny rules here
# only ip addresses are matched, hostnames cannot be specified here
# the wildcards you may use are * and ?
#
# allow 192.168.2.*
# deny 192.168.2.1?


#
# forwarding rules come here
#
# you may specify allow and deny rules after a specific forwarding rule
# to apply to only that forwarding rule
#
# bindadress    bindport connectaddress connectport
# для веб сервера
 188.16.38.55 80       192.168.0.101   80
# для правильной работы ФТП
 188.16.38.55    1024    192.168.0.102   1024
 188.16.38.55     21       192.168.0.102   21
 188.16.38.55     20       192.168.0.102   20
# для игрового сервера
 188.16.38.55    7777     192.168.0.40   7777
 188.16.38.55    2106    192.168.0.40 2106
# для ДНС
 188.16.38.55    53       192.168.0.103   53
   

# logging information
# logfile /var/log/rinetd.log

# uncomment the following line if you want web-server style logfile format
# logcommon
 

При копировании материалов ссылка на сайт обязательна


Добавлена: 11/01/2011 · Автор: admin

Просмотров: 20300

Оценить:
Social net
Сатьи

Все статьи
Друзья
Сайт skeletora
ОНАПТ
OLD-HARD.RU


Webmaster Andy
Copyright©1998-2014 Odessa


Открытие страницы: 3.50 секунды и 8 запросов к БД
Хостинг
Регистрация домена
free counters