Redfern89
@Redfern89
Пишу код под МК AVR, начинающий сисадмин

Как сделать интернет-шлюз ubuntu server 18.04?

Доброго времени суток. Пытаюсь сделать интернет-шлюз на базе платы Orange PI PC. Интернет на устройстве идет через интерфейс wlan0, хочу сделать, что-бы интернет "выходил" через eth0.

1. Настроил интерфейс eth0

ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.88.1  netmask 255.255.255.0  broadcast 192.168.88.255
        inet6 fe80::489d:a7db:71d8:72c0  prefixlen 64  scopeid 0x20<link>
        ether 02:81:c6:7b:bc:ea  txqueuelen 1000  (Ethernet)
        RX packets 3568  bytes 391412 (391.4 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 442  bytes 31694 (31.6 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 46


2. Установил и настроил настроил dnsmasq
/etc/dnsmasq.conf
interface=eth0
listen-address=192.168.88.1
dhcp-range=192.168.88.50,192.168.88.150,12h
dhcp-option=3,192.168.88.1


Настройка iptables
192.168.1.11 - адрес на wlan0
iptables -A FORWARD -i wlan0 -o eth0 -s 192.168.88.0/24 -j ACCEPT
iptables -A FORWARD -i eth0 -o wlan0 -d 192.168.88.0/24 -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.88.0/24 -o eth0 -j SNAT --to-source 192.168.1.11


p.s Забыл указать
/etc/sysctl.conf
# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1

Компьютер, подключенный к eth0 - получает ip-адрес 192.168.88.118, сама плата доступна по адресу 192.168.88.1, но интернета нету (((
  • Вопрос задан
  • 351 просмотр
Решения вопроса 1
Redfern89
@Redfern89 Автор вопроса
Пишу код под МК AVR, начинающий сисадмин
и так. Всем, чье время я потратил - большое спасибо. Все это связанно с тем, что я не до конца понял работу iptables. сделал вот так:

iptables -t nat -A POSTROUTING -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.88.0/24 -o wlan0 -j SNAT --to-source=192.168.1.11


где wlan0 - источник, от куда берется интернет

И самое главное - DNS.
domain=fck
server=1.1.1.1
server=8.8.8.8
server=8.8.4.4


ведь сетевой интерфейс с адресом 88.118 - получал в качестве DNS - 192.168.88.1, а на данном шлюзе DNS-сервер не настроен. Сделал ему форвард на сервера cloudflare и google, рестартнул - все запустилось. Всем спасибо за помощь и простите за глупости
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@none7
По моему ваши iptables правила, абсолютно бессмысленные.
1. При маршрутизации пакета из интерфейса wlan0 в eth0 пришедшего с адресов интерфейса eth0, пропустить. Так как это невозможно без вмешательства злобного хакера, то игнор.
2. При маршрутизации пакета из интерфейса eth0 в wlan0 предназначенного для одного из адресов маршрутизируемых в eth0(как он вообще может быть направлен в сторону wlan0?). Так как это невозможно, игнор.
Все пакеты уходят в DROP настроенный по умолчанию.
Ответ написан
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
А sysctl -w net.ipv4.ip_forward=1 делали? А у .88.118 default gateway указан?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы