为了将服务器用作路由器,我们需要配置 NAT。 在本指南中,服务器有 2 个物理端口:
- enp3s0 - 互联网 (192.168.1.12)
- enp1s0 - 本地网络 (100.100.100.1)
1.enp1s0配置
more /etc/network/interfaces
auto enp1s0
iface enp1s0 inet static
address 100.100.100.1
netmask 255.255.255.0
2.NAT设置
apt install iptables
modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o enp3s0 -j MASQUERADE
iptables -A FORWARD -i enp1s0 -j ACCEPT
2.1 配置本地网关作为DNS服务器
在我们的例子中,我们使用转发到 DNS 服务器 8.8.8.8
iptables -t nat -A PREROUTING -p tcp --dport 53 -j DNAT --to 8.8.8.8:53
iptables -t nat -A PREROUTING -p udp --dport 53 -j DNAT --to 8.8.8.8:53
iptables -t nat -A POSTROUTING -j MASQUERADE
2.2 保存模块设置
nano /etc/modules
iptable_nat
2.3 保存流量设置
nano /etc/sysctl.conf
net.ipv4.ip_forward=1
2.4 保存 iptables 设置
apt install iptables-persistent
iptables-save > /etc/iptables/rules.v4
3.检查工作
由于我们的一个端口上有互联网,第二个端口上有本地网络,因此连接到本地网络端口的所有设备都应该能够访问互联网。 有时,网关本身未配置为 DNS 服务器,而正确的检查将通过 ping 外部 IP 地址进行。
例如:
ping 8.8.8.8
Обмен пакетами с 8.8.8.8 по с 32 байтами данных:
Ответ от 8.8.8.8: число байт=32 время=23мс TTL=59
Ответ от 8.8.8.8: число байт=32 время=23мс TTL=59
或者
ping 1.1.1.1
Обмен пакетами с 1.1.1.1 по с 32 байтами данных:
Ответ от 1.1.1.1: число байт=32 время=4мс TTL=57
Ответ от 1.1.1.1: число байт=32 время=4мс TTL=57
正如我们所看到的,一切正常。 现在我们的服务器充当路由器。
暂时没有评论