Linux 同个局域网子网内,旁路由NAT配置

环境准备:

1、主路由

2、配置为旁路由的 Linux 设备(推荐用 Debian、Ubuntu、CentOS,不推荐 OpenWrt)

3、主路由配置子网段

      假定:

               IP:192.168.0.1

               MASK:255.255.255.0

               GW:192.168.0.1

4、配置旁路由 Linux 设备的IP设定

     假定:

             IP:192.168.0.20

            MASK:255.2555.255.0

            GW:192.168.0.1(主路由)

5、打开IPV4报文转发

      临时开启:

      方法一:echo 1 > /proc/sys/net/ipv4/ip_forward 

      方法二:sysctl -w net.ipv4.ip_forward=1

      生效配置:

      sysctl -p

永久配置自己改改,本文只说临时路由配置。

6、配置路由规则

指示接收并处理来自 192.168.0.0/24 主路由子网内的报文转发。

iptables -A FORWARD -s 192.168.0.0/24 -d 0.0.0.0/0 -j ACCEPT

iptables -A FORWARD -s 0.0.0.0/0 -d 192.168.0.0/24 -m state --state RELATED,ESTABLISHED -j ACCEPT

iptables -A INPUT -p icmp --icmp-type 30 -j ACCEPT

iptables -A OUTPUT -p icmp --icmp-type 30 -j ACCEPT

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to 192.168.0.20

7、使用主路由其它网络设备,修改网关服务器为:192.168.0.20,进行上网测试。

FAQ:

正确配置,但仍旧无法访问网络,那么您可以检查是否存在 Docker, 若存在,卸载 Docker,这是因为 Docker 会改变,Linux 内核 SNAT 路由配置,这或破坏,旁路由配置。

小提示:

Docker 配置正常的情况下,并不会导致破坏母鸡(宿主)Linux 设备旁路由配置出现故障。

若有可能的情况下,人们应该使用嵌入式的 Debian 操作系统,因为它可以占用更少的资源,挤出更多硬件资源为应用程序、及内核SNAT路由转发服务。

  • 8
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我会尽力回答您的问题。首先需要确保您已经安装了VirtualBox和Ubuntu虚拟机,并且能够正常运行。 第一步,创建虚拟局域网(Virtual LAN): 1. 打开VirtualBox,选择“文件”->“主机网络管理器”; 2. 点击“创建”按钮,创建一个新的虚拟网络(Virtual LAN); 3. 给虚拟局域网指定一个名称,如“myLAN”,选择“IPv4地址”,输入地址段和子网掩码(如192.168.1.0/24),点击“确定”完成创建。 第二步,创建两个Ubuntu虚拟机,并将它们都连接到“myLAN”虚拟局域网: 1. 在VirtualBox中创建两个Ubuntu虚拟机,分别命名为“router”和“client”; 2. 在“router”和“client”虚拟机的设置中,选择“网络”选项卡,将网络适配器1设置为“NAT”,网络适配器2设置为“内部网络”,选择“myLAN”; 3. 启动“router”虚拟机,打开终端,输入以下命令: ``` sudo apt-get update sudo apt-get install iptables sudo sysctl -w net.ipv4.ip_forward=1 sudo iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE sudo iptables -A FORWARD -i enp0s8 -o enp0s3 -j ACCEPT sudo iptables -A FORWARD -i enp0s3 -o enp0s8 -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables-save > /etc/iptables.up.rules ``` 这些命令将启用IP转发并配置iptables防火墙,使“router”虚拟机能够管理内外网。 4. 启动“client”虚拟机,打开终端,输入以下命令: ``` sudo apt-get update sudo apt-get install iptables sudo ip route del default sudo ip route add default via 192.168.1.1 dev enp0s8 sudo echo "nameserver 8.8.8.8" > /etc/resolv.conf ``` 这些命令将删除默认路由并添加到“router”虚拟机,并将DNS服务器设置为Google DNS。 至此,您已经成功地创建了一个虚拟局域网,并在其中创建了一个Linux路由器来管理内外网。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值