Ubuntu 服务器 16.04 的第二个以太网端口中的互联网共享

Ubuntu 服务器 16.04 的第二个以太网端口中的互联网共享

我有一台运行 ubuntu server 16.04 的服务器电脑,该服务器有两个以太网端口 -eno1eno2。我使用我的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并且我想从这个eno2以太网端口连接我的路由器。

我怎样才能实现这个目标?

答案1

我已经知道怎么做了。经过多次尝试,我找到了解决方案。我从这个链接获得了解决方案 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

然后我插入连接到路由器的以太网电缆,eno2并将路由器配置为静态 IP,如下所示:

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

这对我很有用。

相关内容