Router address on linux

Роутер на Ubuntu Server 21.04

Краткое руководство по настройке роутера в связке iptables + dnsmasq на ОС Ubuntu Server 21.04, а также проброс портов по IP-адресам машин в локальной сети.

Исходные данные

Имеем на машине 2 сетевых интерфейса:

enp0s3 — для внешней сети 192.168.1.0/24

enp0s8 — для внутренней сети 192.168.53.0/24

Также у нас есть шлюз во внешней сети. Это маршрутизатор с IP-адресом 192.168.1.1

Наша задача — настроить доступ в Интернет для внутренней сети.

В первую очередь нам необходимо настроить сетевые интерфейсы. Для этих целей Ubuntu Server 21.04 использует netplan.

Открываем файл /etc/netplan/00-installer-config.yaml

# sudo nano /etc/netplan/00-installer-config.yaml

и приводим его к такому виду:

# This is the network config written by 'subiquity' network: ethernets: enp0s3: addresses: - 192.168.1.53/24 gateway4: 192.168.1.1 nameservers: addresses: - 192.168.1.1 search: [] enp0s8: addresses: - 192.168.53.1/24 nameservers: addresses: [] search: [] version: 2
# sudo netplan generate # sudo netplan apply

Переходим к настройке файрволла (правил iptables).

Создадим каталог /etc/firewall, в нём скрипт iptables.sh и открываем его

# sudo mkdir /etc/firewall # sudo touch /etc/firewall/iptables.sh # sudo nano /etc/firewall/iptables.sh
#!/bin/sh sysctl -w net.ipv4.ip_forward=1 iptables -F iptables -t nat -A POSTROUTING -o enp0s+ -j MASQUERADE iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -t filter -A INPUT -p icmp -j ACCEPT iptables -t filter -A INPUT -i lo -j ACCEPT iptables -t filter -A INPUT -i enp0s+ -j ACCEPT iptables -t filter -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT iptables -t filter -A FORWARD -p icmp -j ACCEPT iptables -t filter -A FORWARD -i lo -j ACCEPT iptables -t filter -A FORWARD -i enp0s+ -j ACCEPT iptables -t filter -A FORWARD -o enp0s+ -j ACCEPT iptables -t filter -A INPUT -j REJECT --reject-with icmp-host-prohibited iptables -t filter -A FORWARD -j REJECT --reject-with icmp-host-prohibited

и сделаем скрипт исполняемым

# sudo chmod +x /etc/firewall/iptables.sh

Теперь создадим службу rc-local. Для этого создадим файл /etc/systemd/system/rc-local.service

# sudo touch /etc/systemd/system/rc-local.service
# sudo nano /etc/systemd/system/rc-local.service
[Unit] Description=/etc/rc.local ConditionPathExists=/etc/rc.local [Service] Type=forking ExecStart=/etc/rc.local start TimeoutSec=0 StandardOutput=tty RemainAfterExit=yes SysVStartPriority=99 [Install] WantedBy=multi-user.target

Затем создадим файл /etc/rc.local и откроем его

# sudo touch /etc/rc.local # sudo nano /etc/rc.local

пропишем в него такой код:

#!/bin/sh -e /etc/firewall/iptables.sh exit 0

и сделаем его исполняемым

Далее перезагрузим машину

Проверим, работают ли созданные правила. Для этого выполним команду

Читайте также:  Alpine linux docker установка

и, если iptables работает корректно, получим примерно такой ответ

Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED ACCEPT icmp -- anywhere anywhere ACCEPT all -- anywhere anywhere ACCEPT all -- anywhere anywhere REJECT all -- anywhere anywhere reject-with icmp-host-prohibited Chain FORWARD (policy ACCEPT) target prot opt source destination ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED ACCEPT icmp -- anywhere anywhere ACCEPT all -- anywhere anywhere ACCEPT all -- anywhere anywhere ACCEPT all -- anywhere anywhere REJECT all -- anywhere anywhere reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT) target prot opt source destination

После этого переходим к настройке dnsmasq.

и в самом конце файла добавляем:

bind-interfaces domain-needed bogus-priv interface=enp0s8 resolv-file=/etc/resolv.conf dhcp-range=192.168.53.31,192.168.53.130,24h cache-size=150
# sudo systemctl start dnsmasq

или лучше вообще перезагрузим машину

После этого на других машинах в сети проверяем сетевые настройки и выход в Интернет.

При необходимости в пробросе портов по IP-адресам для доступа из внешней сети, например, необходимо пробросить порт RDP 3389/TCP на IP-адрес машины 192.168.53.25, выполним такие команды:

# sudo iptables -t nat -A PREROUTING -i enp0s3 -p tcp --dport 3389 -j DNAT --to-destination 192.168.53.25:3389 # sudo iptables -t filter -A INPUT -p tcp -m state --state NEW -m tcp --dport 3389 -j ACCEPT

Для того, чтобы эти правила срабатывали после каждой загрузки системы, их необходимо прописать в файл /etc/firewall/iptables.sh

Проброс других портов осуществляется аналогичным образом.

Похожие посты:

Роутер на Ubuntu Server 21.04: 4 комментария

У меня enp2s0 = wan , enp3s1 = Lan очен неясно iptables.sh куда поставит Лан куда ван интерфейс. у тебе всегда enp0s+

enp0s+ означает любой интерфейс, который начинается с enp0s, то есть, если по статье, то это enp0s3 и enp0s8. В вашем случае наверное будет лучше прописать enp+, или перечислить их через запятую, чтобы не писать одно и то же правило два раза.

Раборает. Единствено не работает iptables -t nat -A PREROUTING -i enp0s3 -p tcp —dport 3389 -j DNAT —to-destination 192.168.53.25:3389 «iptables v1.8.7 (nf_tables): unknown option «—port»»

вы писали, что у вас интерфейс enp2s0 смотрит в Интернет, а прописываете enp0s3… исправьте, и всё должно получиться.

Источник

Finding Your Router’s IP Address (Default Gateway) in Ubuntu and Other Linux

Looking for a way to connect to your router but don’t know its address? Here’s how to get the IP address of your router in Ubuntu and other Linux systems.

You probably already know how to get your system’s IP address in Linux. But how do you know the IP address of your router? I am not talking about the public-facing IP which you can get by connecting to websites like Show My IP or simply searching for ‘what is my ip’ in DuckDuckGo. I am talking about the default gateway IP which your Linux desktop uses to connect to it. Why do you need it? Well, if you need to change the SSID, password, or other configuration of your wi-fi/network, you have to connect to it. And the simplest way is to type the router’s IP address in a web browser and then use the router’s username and password. While I cannot help you with the username and password of your router, I can surely tell you how to get its IP. As always, I’ll show both GUI and command-line methods.

Читайте также:  Astra linux рестарт network

Method 1: Get the router’s IP address in Linux using GUI

It’s quite simple actually. I am using GNOME desktop with Ubuntu here. If you use some other desktop environments, screenshots may look different. Open System Settings: go to settingsNow go to Wi-Fi or Network (if you are using a wired, Ethernet connection). Here, click on the little settings symbol beside your currently used network. access network settings ubuntuIt will open a new window with several details about your connection such as the IP address, DNS, and Mac address. You can also see the saved wifi password under the security tab. You’ll also see an entry named ‘Default Route’. This is what you are looking for. The IP address of your router. defaul gateway ip ubuntuYour system and all other devices on your network connect to the router using this IP address. This is the setup most households have. Now that I have shown the GUI method, let’s go to the terminal route.

Method 2: Get the router’s IP address in Linux command line

[email protected]:~$ ip route default via 192.168.1.1 dev wlp0s20f3 proto dhcp metric 600 169.254.0.0/16 dev wlp0s20f3 scope link metric 1000 192.168.1.0/24 dev wlp0s20f3 proto kernel scope link src 192.168.1.34 metric 600

defaul route linux terminal

The first line, which starts with ‘default via’, gives you the gateway IP. This is your router’s IP address. As you can see, 192.168.1.1 is the IP address of my router. Usually, the router’s IP address is the first number of the subnet. However, this is not a hard and fast rule. I have seen routers with x.y.z.30 addresses as well.

Bonus tip

ping gateway

In case you didn’t know, you have to use the Ctrl+C to stop a running command in Linux. I hope you find this tip useful when you need it.

Источник

Как узнать ip роутера

Большинство домашних сетей получают доступ к интернету через маршрутизаторы или модемы. Нам не так часто нужно менять настройки маршрутизатора, но временами возникает такая необходимость. Обычно эти настройки можно открыть, набрав локальный ip адрес маршрутизатора в строке браузера. Также иногда может понадобится узнать ip адрес роутера для других действий или тестирования работы сети.

Читайте также:  Linux convert images to gif

К сожалению, нет одного стандартного адреса, который бы использовали все маршрутизаторы, очень часто используется 192.168.1.1, но это не является правилом и можно встретить любые адреса из диапазона локальных сетей. На самом деле есть множество способов как узнать ip роутера wifi, так и в обычной сети.

КАК УЗНАТЬ IP РОУТЕРА В LINUX?

Первое место, где стоит посмотреть независимо от вашей операционной системы — это документация для вашего роутера. Там точно есть инструкция по настройке и в ней указан адрес, на котором можно открыть веб-интерфейс.

ЛОКАЛЬНЫЙ АДРЕС РОУТЕРА

Далее, вы можете использовать утилиты просмотра информации о сети. Компьютер активно взаимодействует с роутером для передачи данных в сеть и мы можем посмотреть адрес шлюза, который и будет адресом роутера. Команда ip:

Здесь в первой же строке будет отображен адрес шлюза, через который передается весь трафик по умолчанию, в моем случае тот же самый 192.168.1.1. Если вы не хотите использовать команду ip, можно посмотреть таблицу маршрутизации пакетов командой route:

Тут тоже первая запись будет означать адрес маршрутизатора. Еще один путь узнать ip маршрутизатора — посмотреть таблицу записей ARP:

Здесь все еще проще, если компьютер взаимодействует только с роутером, то будет выведена одна запись — адрес роутера. Подобную информацию может выдать и утилита netstat:

ВНЕШНИЙ АДРЕС РОУТЕРА

Если вы счастливый обладатель белого IP адреса или даже серого, который на спрятан за NAT и вас интересует как узнать внешний ip роутера, то для этого тоже есть простая команда:

Еще можно открыть эту же страницу в браузере:

КАК УЗНАТЬ IP АДРЕС РОУТЕРА В WINDOWS?

Самый простой способ узнать ip адрес роутера в Windows — использовать утилиту командной строки ipconfig. Кликните правой кнопкой по значку пуск, затем выберите «Командная строка»

В открывшемся окне наберите:

Адрес роутера будет отображен напротив «Основной адрес шлюза». Еще один способ узнать IP адрес роутера — это использовать стандартную утилиту настроек. Кликните по значку сетевые подключения, выберите «Открыть центр управления сетями и общим доступом»:

Кликните по сети, к которой вы подключены:

Затем нажмите кнопку сведения:

Здесь и будет отображен адрес шлюза среди прочей другой информации. Если вам нужен внешний адрес, вы можете открыть в браузере те же сайты, что и для Linux.

ВЫВОДЫ

В этой статье мы рассмотрели как узнать ip роутера в сети. Как видите, это совсем не сложно, и существует множество методов, из которых вы можете выбрать тот, который будет более удобным для вас. Если у вас остались вопросы, спрашивайте в комментариях!

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

Оцените статью
Adblock
detector