Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Линукс.docx
Скачиваний:
20
Добавлен:
15.03.2016
Размер:
2.59 Mб
Скачать

Настройка 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