У меня есть сервер ПК, который работает на сервере Ubuntu 16.04 этот сервер имеет два порта Ethernet - eno1 и eno2 . Я использую свой порт eno1 для доступа в Интернет, используя следующий код в файле interfaces расположенном в /etc/network/

auto eno1
iface eno1 inet static
address 103.56.4.162
netmask 255.255.255.248
gateway 103.56.4.161
dns-nameservers 103.56.4.6 8.8.8.8

Я могу получить доступ к Интернету, нет проблем.

я хочу поделиться этим Интернетом с eno2 и я хочу подключить свой маршрутизатор с этого порта Ethernet eno2 .

Как мне этого добиться?

1 ответ1

0

Я понял, как это сделать. после многих попыток я нашел решение. Я получил это решение по этой ссылке https://help.ubuntu.com/community/Router

Во-первых, не забудьте сделать резервную копию вашего интерфейса, прежде чем редактировать его

sudo cp /etc/network/interfaces /etc/network/interfaces.bak

для eno2 меня есть добавленные ниже строки к вышеуказанному файлу интерфейсов

auto eno2
iface eno2 inet static
address 192.168.0.1
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255

Затем я создал файл сценария с именем nat.sh и поместил следующий код:

echo -e "\n\nLoading simple rc.firewall-iptables version $FWVER..\n"
DEPMOD=/sbin/depmod
MODPROBE=/sbin/modprobe

EXTIF="eno1"
INTIF="eno2"

echo "   External Interface:  $EXTIF"
echo "   Internal Interface:  $INTIF"

#======================================================================
#== No editing beyond this line is required for initial MASQ testing == 
echo -en "   loading modules: "
echo "  - Verifying that all kernel modules are ok"
$DEPMOD -a
echo "----------------------------------------------------------------------"
echo -en "ip_tables, "
$MODPROBE ip_tables
echo -en "nf_conntrack, " 
$MODPROBE nf_conntrack
echo -en "nf_conntrack_ftp, " 
$MODPROBE nf_conntrack_ftp
echo -en "nf_conntrack_irc, " 
$MODPROBE nf_conntrack_irc
echo -en "iptable_nat, "
$MODPROBE iptable_nat
echo -en "nf_nat_ftp, "
$MODPROBE nf_nat_ftp
echo "----------------------------------------------------------------------"
echo -e "   Done loading modules.\n"
echo "   Enabling forwarding.."
echo "1" > /proc/sys/net/ipv4/ip_forward
echo "   Enabling DynamicAddr.."
echo "1" > /proc/sys/net/ipv4/ip_dynaddr 
echo "   Clearing any existing rules and setting default policy.."

iptables-restore <<-EOF
*nat
-A POSTROUTING -o "$EXTIF" -j MASQUERADE
COMMIT
*filter
:INPUT ACCEPT [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A FORWARD -i "$EXTIF" -o "$INTIF" -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT 
-A FORWARD -i "$INTIF" -o "$EXTIF" -j ACCEPT
-A FORWARD -j LOG
COMMIT
EOF

echo -e "\nrc.firewall-iptables v$FWVER done.\n"

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

chmod a+x nat.sh

чем запустить его как root

sudo sh nat.sh

сделайте наш новый скрипт загрузочным, чтобы нам не приходилось запускать скрипт каждый раз при перезапуске.

sudo cp nat.sh /etc/init.d/
sudo ln -s /etc/init.d/nat.sh /etc/rc2.d/S95masquradescript

Затем я подключил свой Ethernet-кабель, который подключен к маршрутизатору, к eno2 и настроил мой маршрутизатор для статического IP, как показано ниже для DHCP:

IP Address: 192.168.0.2
Netmask: 255.255.255.0 (/24)
Gateway: 192.168.0.1
DNS Server: 103.56.4.6
            8.8.8.8

и это сработало для меня.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .