Споделяне и рутиране на нета в Debian

Настройки свързвани с конфигуриране на вътрешна мрежа и Интернет.

Модератори: Freya, Kulu Ngile

Споделяне и рутиране на нета в Debian

Мнениеот Kulu Ngile » Пет 08, Сеп, 2006 12:55

За да стартирате Debiana като като рутер се нуждаете от две мрежови карти. Също така трябва да конфигурирате външната ви карта да рутира интернета идващ от вашият интернет доставчик (ISP).

Използвам eth1 за вътрешната мрежа, а през eth0 ми минава нета, който е през pppoe. IP-то на вътрешната карта (eth1) ще е с адрес 192.168.0.1 и ще бъде подразбиращият се gateway за вътрешната ми мрежа,

За да може машината ви да работи като gateway за вътрешната ви мрежа, трябва да се разреши IP forwarding и да се зададат няколко правила за рутиране на пакети. Това може да стане с iptables.

Основно се нуждаем от четири серии от правила
- отказване на идващите връзки по eth0 (в моят случай ppp0)- това ви е външният мрежов интерфейс
- позволяване на изходящите пакети от вътрешната ни мрежа (през eth1)
- позволяване на установените връзки да се връщат
- заобикяне на time to live (TTL) филтри при NAT

Както споменахме малко по-горе, трябва да подготвим маршрутизатора си, като зададе, IP forwarding. Това става, като редактираме /etc/sysctl.conf и добавиме следните два реда:
Код за потвърждение: Избери целия код
net.ipv4.ip_forward = 1
net.ipv4.ip_local_port_range = 1024 32768

Ако ги имате, трябва да ги промените по описисаният начин. За да влезнат в сила промените, трябва да се изпълни
Код за потвърждение: Избери целия код
sysctl -p

За правилата, които искаме да зададем, ще използваме скрипт. Има коментари, за да може по-лесно да разберете, какво се прави. Ето го и скрипта:
Код за потвърждение: Избери целия код
#!/bin/bash

PATH=/usr/sbin:/sbin:/bin:/usr/bin

# Изтриване на всички налични правила
#
EXT=ppp0
INT=eth1

iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X

# Винаги приемане на loopback трафика
iptables -A INPUT -i lo -j ACCEPT


#Позволяване на установените връзки и тези, които не идват отвън
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state --state NEW -i ! $EXT -j ACCEPT
iptables -A FORWARD -i $EXT -o $INT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Позволяване на изходящите пакети от  вътрешната ни мрежа.
iptables -A FORWARD -i $INT -o $EXT -j ACCEPT

# Маскиране.
iptables -t nat -A POSTROUTING -o $EXT -j MASQUERADE

# Да не се препрщат от вън на вътре.
iptables -A FORWARD -i $EXT -o $INT -j REJECT

#Заобикаляне на TTL филтрите при NAT
iptables -t mangle -A PREROUTING -i $EXT -j TTL --ttl-inc 1
iptables -t mangle -A POSTROUTING -s 192.168.0.0/24 -o $EXT -j TTL --ttl-set 64

Ако използвате статичен или динамичен адрес, а не pppoe, то просто можете да замените ppp0 с eth0 (ако през eth0 идва нета ви)

Ако искате скрипта да стартира наравно с вдигането на мрежата при стартиране на компютъра ви, то трябва да го запазите в директорията /etc/network/if-up.d/ и да му зададете права за изпълнение (chmod +x името_на_скрипта.sh)


Източници: Основен и статията на Весо в linux-bg.org
Ако съдбата е срещу теб, толкова по-зле за нея.

Изображение
APT HOWTO
Kulu Ngile
Унуфри
 
Мнения: 1233
Регистриран на: Съб 04, Мар, 2006 2:04
Местоположение: София

Назад към Мрежови настройки

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 госта

cron