LINUX.ORG.RU
ФорумAdmin

Сетевая карта в качестве WAN для роутера

 , , , ,


0

2

Всем привет! Имеется такая конфигурация: комп, с Debian 8, в который установлено 2 сетевые карты; дешманский роутер TP-LINK на OpenWRT; 3G-свисток. Нужно сделать следующее: создать шлюз на второй сетевой карте (eth1), чтобы она принимала и передавала пакеты на свисток (ppp0), и являлась WAN для роутера. Первая сетевая карта (eth0), будет использоваться как LAN. Думаю, организовать таким образом:

#!/bin/bash

# Определяем выходной интерфейс для которого будет применяться замена адресов (NAT)
iptables -v -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

# Пересылаем все пакеты, пришедшие на модем из глобальной сети (0.0.0.0/0) в локальную сеть (192.168.0.0/24)
iptables -v -A FORWARD -i ppp0 -o eth1 -s 0.0.0.0/0 -d 192.168.0.0/24 -j ACCEPT

#Пересылаем все пакеты, пришедшие из локальной сети (192.168.0.0/24) в глобальную (0.0.0.0/0)
iptables -v -A FORWARD -i eth1 -o ppp0 -s 192.168.0.0/24 -d 0.0.0.0/0 -j ACCEPT
, но точно не уверен. Конечная цель - заставить роутер раздавать трафик с 3G-модема в локальную сеть (LAN и Wi-Fi). Подскажите, как организовать подобное?

Нафейхоа такой изврат? Пусть комп и будет полноценным маршрутизатором, а в openwrt делай все порты в сети lan. Только на компике незабудь dhcp настроить и всё. Ну можешь ещё DNS туда прикрутить.

nickleiten ★★★ ()
Ответ на: комментарий от Sunderland93

Хм, просто идеологически лучше будет иметь общий сегмент локальной сети, а для этого функции маршрутизатора придётся переложить на «бордерное» (граничное) устройство. Тогда пусть тп-линк выполняет функцию точки доступа (причём если там действительно дешманский, без поддержки 802.11n тогда ему же лучше будет в плане нагрузки, т.к. старые роутеры имели совсем дохлые процессоры).

Но это всё не касается основного вопроса. В общем, у нас есть система с двумя ethernet портами: eth0, eth1. И роутер. Для связи сервер-роутер по WAN порту роутера используется eth1 интерфейс сервера. Для этой связи нужно выделить подсеть, допустим 192.168.255.0/30. Из этой подсети (в ней всего два адреса хоста и по адресу для сети и широковещательного) назначим на eth1 сервера адрес 192.168.255.1 с маской 255.255.255.252, а на WAN порт роутера назначим статически 192.168.255.2 с маской 255.255.255.252, шлюзом укажем 192.168.255.1, днс - на свой вкус, хоть и 8.8.8.8. Далее на сервере необходимо настроить маршрутизацию и фаерволы, в целом вы справились с этой задачей, но можно проще:

iptables -A FORWARD -i eth0 -o ppp+ -j ACCEPT
iptables -A FORWARD -i ppp+ -o eth0 -j ACCEPT
iptables -t nat -A POSTROUTING -o ppp+ -j MASQUERADE

Незабываем непосредственно включить маршрутизацию в ядре:

sudo sysctl -w net.ipv4.ip_forward=1
Для применения этого параметра при загрузке, лучше указать в /etc/sysctl.conf или в /etc/sysctl.d/10-ip_forward.conf строку
net.ipv4.ip_forward=1

На openwrt всё по-умолчанию насроено на раздачу интернета с wan на lan. Так что, в общем случае, ничего дополнительно настраивать не придётся. Собственно всё.

nickleiten ★★★ ()
Последнее исправление: nickleiten (всего исправлений: 1)
Ответ на: комментарий от Radjah

iptables для интерфейсов поддерживает «маску» вместо плюса ядро будет циферки подставлять. То есть правило с ppp+ будет означать любой интерфейс, имя которого начинается с ppp.

nickleiten ★★★ ()
Ответ на: Хелп плиз... от Johnni

Зависит от дистрибутива.

Самый простой вариант, /etc/rc.local. Или добавить unit для systemd.

nickleiten ★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.