создания с нуля интернет-шлюза на Ubuntu 20.04 пошагово
Когда у меня сгорел домашний роутер и остался только один рабочий с одним портом пришлось извращаться создавая шлюз из компа раздавая с него интернет на другие компы. Создал скрипт и запихнул его в автозапуск.
Посмотрите мою подсказку которую я тогда по быстрому записал для себя, может подойдет и для вас, но учтите это совсем примитив
#Раздача интернета с компьютера
Сначала определить командой ifconfig какие сетевые интерфейсы есть
Надо выяснить какой из них подключен к интернету, а к какому подключен второй компьютер(или к локальной сети). Проще всего это сделать по их ip-адресам.
Допустим через enp2s0 получаем интернет, а enp3s0 подключен к локальной сети (или второму компьютеру).
командой приведенной ранее задаем настройки для сетевых интерфейсов
sudo ip addr add 192.168.1.107/255.255.255.0 broadcast 192.168.1.255 dev enp2s0
sudo ip addr add 192.168.2.107/255.255.255.0 broadcast 192.168.2.255 dev enp3s0
или редактированием файла sudo vim /etc/netplan/*.yaml задаем постоянные настройки для сетевых карт
Для настройки сетевой карты смотрящей в интернет можно использовать команду автоматической настройки сети но лучше чтобы адрес был статический (чтобы случайно не поменялся)
Следующие команды настроят iptables для NAT-трансляции (NAT, Network Address Translation — «преобразование сетевых адресов») через Ubuntu-шлюз:
sudo iptables -A FORWARD -i enp2s0 -o enp3s0 -s 192.168.0.0/24 -m conntrack --ctstate NEW -j ACCEPT
sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A POSTROUTING -t nat -j MASQUERADE
Для конфигурации gateway-я для роутинга между двумя интерфейсами необходимо включить IP-форвардинг командой:
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
Еще надо отредактировать файл sysctl.conf:
sudo vim /etc/sysctl.conf
Добавить в него две строки для активации роутинга:
net.ipv4.conf.default.forwarding=1
net.ipv4.conf.all.forwarding=1
После этого интернет-шлюз готов к работе. Можно настраивать клиентские машины
На клиентской машине подключенной на станции шлюзе к интефейсу enp3s0 задаем сетевые настройки
sudo ip addr add 192.168.2.108/255.255.255.0 broadcast 192.168.2.255 dev enp2s0
Также на клиентсокй машине задаем шлюз
sudo ip route add default via 192.168.2.107 --указывается адрес машины шлюза
В качестве DNS сервера указываем адрес роутера 192.168.1.1 (для домашних сетей)
____________________
#пример скрипта для настройки интернет шлюза
sudo ip -4 addr flush dev enp2s0
sudo ip -4 addr flush dev enp3s0
sudo ip link set enp2s0 up
sudo ip link set enp3s0 up
sudo ip addr add 192.168.1.107/255.255.255.0 broadcast 192.168.1.255 dev enp3s0
sudo ip addr add 192.168.2.107/255.255.255.0 broadcast 192.168.2.255 dev enp2s0
sudo ip route add default via 192.168.1.1
sudo iptables -A FORWARD -i enp3s0 -o enp2s0 -s 192.168.2.0/24 -m conntrack —ctstate NEW -j ACCEPT
sudo iptables -A FORWARD -m conntrack —ctstate ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A POSTROUTING -t nat -j MASQUERADE
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
ifconfig
Вы сеть вобще настраивать умеете в Linux?