- Софт
Вначале необходимо любым доступным образом установить пакеты dnsutils, dnsmasq и pppoe.# apt-get install dnsutils # apt-get install dnsmasq # apt-get install pppoe
- ip-адреса
eth0 - сетевой интерфейс на плате, статический ip, смотрит в локальную сеть
eth1 - D-Link DUB-E100, usb, динамический ip, смотрит в сеть провайдера
/etc/network/interfacesauto eth0 allow-hotplug eth0 iface eth0 inet manual auto dsl-provider iface dsl-provider inet ppp provider dsl-provider auto eth1 iface eth1 inet manual
/etc/dhcpcd.conf - файлик в системе есть, пишем в началоinterface eth0 static ip_address=192.168.1.6/24 nogateway # не дает записать default route интерфейса в таблицу маршрутизации nohook resolv.conf # не дает записать dns интерфейса в /etc/resolv.conf interface eth1
- Настраиваем маршрутизацию
/etc/sysctl.conf, разрешаем маршрутизацию пакетов:net.ipv4.ip_forward=1 net.ipv6.conf.all.forwarding=1
- iptables + nat
Файл /etc/ppp/ip-up.d/0020iptables (сделать его исполняемым):#!/bin/sh iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP # iptables -A INPUT -i lo -j ACCEPT iptables -A OUTPUT -o lo -j ACCEPT # lan iptables -A INPUT -i eth0 -j ACCEPT iptables -A OUTPUT -o eth0 -j ACCEPT # provider interface iptables -A OUTPUT -o eth1 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT # vpn interface iptables -A OUTPUT -o ppp0 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT # established iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT # nat iptables -A POSTROUTING -t nat -o ppp0 -j MASQUERADE iptables -A FORWARD -i eth0 -o ppp0 -s 192.168.1.0/24 -j ACCEPT iptables -A FORWARD -i ppp0 -o eth0 -d 192.168.1.0/24 -j ACCEPT
- Настраиваем PPPoE
/etc/ppp/options, добавляемlcp-echo-adaptive
/etc/ppp/chap-secrets, добавляем логин-пароль"LOGIN@realm" * "PASSWORD"
/etc/ppp/peers/dsl-provider, проверяем наличие строчек# eth1 - ЭТО НАШ ИНТЕРФЕЙС, В КОТОРЫЙ ВОТКНУТ ПРОВАЙДЕР pty "/usr/sbin/pppoe -I eth1 -T 80 -m 1452" noipdefault usepeerdns defaultroute hide-password lcp-echo-interval 20 lcp-echo-failure 3 connect /bin/true noauth persist mtu 1492 noaccomp default-asyncmap # добавляем в конце файла логин user "LOGIN@realm"
- Настройка dnsmasq
/etc/dnsmasq.conf# раскомментировать filterwin2k # здесь задать домен домашней сети, если есть local=/LOCALDOMAIN/
Добавляем в автозагрузку и запускаем# systemctl enable dnsmasq # service dnsmasq restart # systemctl status dnsmasq.service
Важно! Dnsmasq запускается гораздо раньше, чем поднимается PPPoE, из-за чего у dnsmasq отсутствует информация о dns-серверах провайдера. Поэтому, нужно сделать так, чтобы dnsmasq перезапускался после того, как поднимется PPPoE. Самое простое - это создать файл /etc/ppp/ip-up.d/0010dnsmasq (не забыть сделать его исполняемым), куда записать следующее:#!/bin/sh /bin/systemctl restart dnsmasq
- Перезагружаемся, проверяем:
# ifconfig eth0 Link encap:Ethernet HWaddr b8:27:eb:80:ab:fc inet addr:192.168.1.6 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::ba27:ebff:fe80:abfc/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:88 errors:0 dropped:0 overruns:0 frame:0 TX packets:96 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:9845 (9.6 KiB) TX bytes:14878 (14.5 KiB) eth1 Link encap:Ethernet HWaddr 90:8d:78:04:36:e6 inet addr:169.254.189.206 Bcast:169.254.255.255 Mask:255.255.0.0 inet6 addr: fe80::3f17:ad6e:828e:72c9/64 Scope:Link UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 RX packets:45 errors:0 dropped:0 overruns:0 frame:0 TX packets:101 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:3869 (3.7 KiB) TX bytes:11909 (11.6 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:156 errors:0 dropped:0 overruns:0 frame:0 TX packets:156 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:11615 (11.3 KiB) TX bytes:11615 (11.3 KiB) ppp0 Link encap:Point-to-Point Protocol inet addr:109.198.202.24 P-t-P:109.198.200.1 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1 RX packets:35 errors:0 dropped:0 overruns:0 frame:0 TX packets:60 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:3 RX bytes:3041 (2.9 KiB) TX bytes:3995 (3.9 KiB)
Статья опубликована: 2016-11-25 13:21:56
Последние правки: 2018-03-11 20:27:41
Делаем из Raspbian Jessie роутер для доступа в интернет.
Подключаемся к Ростелеком.