Debian系统_主板四个网口1个配置为WAN,3个配置为LAN

Debian系统_主板四个网口1个配置为WAN,3个配置为LAN

一、重新配置网口

1、查看当前网口的状态

ifconfig

或者

ip link show

或者

ls /sys/class/net

2、修改网络配置文件

sudo vi /etc/network/interfaces

注意WAN口的网关地址如果是192.168.3.1的话,LAN口的eth2就不要设置为192.168.3.1

bash 复制代码
# WAN口
auto eth3
iface eth3 inet dhcp

# LAN口
auto eth0
iface eth0 inet static
    address 192.168.2.1
    netmask 255.255.255.0

auto eth1
iface eth1 inet static
    address 192.168.1.1
    netmask 255.255.255.0

auto eth2
iface eth2 inet static
    address 192.168.3.1
    netmask 255.255.255.0

3、重启网络服务

sudo systemctl restart networking

或单独重启接口

sudo ifdown eth1 && sudo ifup eth1

二、配置DHCP服务

1、安装DHCP服务器

sudo apt update

sudo apt install isc-dhcp-server

2、编辑主配置文件

sudo vi /etc/dhcp/dhcpd.conf

bash 复制代码
# 关键配置:声明此服务器为权威DHCP服务器(必须!)
authoritative;

# 全局配置
option domain-name "example.com";
option domain-name-servers 8.8.8.8, 8.8.4.4;
default-lease-time 600;
max-lease-time 7200;

subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.100 192.168.1.200;     # DHCP分配的IP范围
    option routers 192.168.1.1;           # 网关地址(通常是路由器或本机IP)
    option broadcast-address 192.168.1.255; # 广播地址
}
subnet 192.168.2.0 netmask 255.255.255.0 {
    range 192.168.2.100 192.168.2.200;     # DHCP分配的IP范围
    option routers 192.168.2.1;           # 网关地址(通常是路由器或本机IP)
    option broadcast-address 192.168.2.255; # 广播地址
}
subnet 192.168.3.0 netmask 255.255.255.0 {
    range 192.168.3.100 192.168.3.200;     # DHCP分配的IP范围
    option routers 192.168.3.1;           # 网关地址(通常是路由器或本机IP)
    option broadcast-address 192.168.3.255; # 广播地址
}
3、检查配置文件语法

sudo dhcpd -t -cf /etc/dhcp/dhcpd.conf

4、指定监听的接口

sudo vi /etc/default/isc-dhcp-server

bash 复制代码
INTERFACESv4="eth1 eth0 eth2"

cat /etc/default/isc-dhcp-server

5、重启DHCP服务

//重启DHCP服务

sudo systemctl restart isc-dhcp-server

//开机自启

sudo systemctl enable isc-dhcp-server

// 检查服务是否运行

sudo systemctl status isc-dhcp-server

//查看日志(排查错误)

journalctl -u isc-dhcp-server

//强制重新加载配置

sudo systemctl daemon-reload

//手动启动 DHCP 服务

sudo dhcpd -4 -d -cf /etc/dhcp/dhcpd.conf eth1

6、 允许防火墙通过DHCP流量

sudo iptables -A INPUT -i eth0 -p udp --dport 67 -j ACCEPT

sudo iptables -A INPUT -i eth0 -p udp --dport 68 -j ACCEPT

sudo iptables -A INPUT -i eth1 -p udp --dport 67 -j ACCEPT

sudo iptables -A INPUT -i eth1 -p udp --dport 68 -j ACCEPT

sudo iptables -A INPUT -i eth2 -p udp --dport 67 -j ACCEPT

sudo iptables -A INPUT -i eth2 -p udp --dport 68 -j ACCEPT

7、排查端口冲突

sudo netstat -tulnp | grep :67

8、直接查看具体错误原因(上述完成后不行)

sudo journalctl -u isc-dhcp-server.service -b --no-pager | grep -i error

三、配置NAT

1、启用IP转发

sudo vi /etc/sysctl.conf

bash 复制代码
//取消注释或添加以下行
net.ipv4.ip_forward=1

//立即生效

sudo sysctl -p

2、配置NAT(网络地址转换)将LAN流量通过WAN口转发

//清空现有规则

sudo iptables -F

sudo iptables -t nat -F

sudo iptables -X

//添加NAT规则

//WAN口:eth3

//LAN口:eth0 eth1 eth2

sudo iptables -t nat -A POSTROUTING -o eth3 -j MASQUERADE

sudo iptables -A FORWARD -i eth1 -o eth3 -j ACCEPT

sudo iptables -A FORWARD -i eth3 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT

sudo iptables -A FORWARD -i eth0 -o eth3 -j ACCEPT

sudo iptables -A FORWARD -i eth3 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT

sudo iptables -A FORWARD -i eth2 -o eth3 -j ACCEPT

sudo iptables -A FORWARD -i eth3 -o eth2 -m state --state RELATED,ESTABLISHED -j ACCEPT

//保存规则(避免重启失效)

sudo apt install iptables-persistent -y

//保存规则:

sudo iptables-save > /etc/iptables/rules.v4

3、检查NAT规则

sudo iptables -t nat -L -n -v

4、检查 NAT 流量计数

watch -n 1 sudo iptables -t nat -L -n -v

5、在开发板上监听 eth1 接口的流量

sudo tcpdump -i eth1 icmp

四、验证网络通路

1、开发板自身访问外网

//替换 eth3 为WAN口

ping -I eth3 8.8.8.8

2、设备接入LAN可以自动获取IP地址(192.168.1.101)

ifconfig

或者

ipconfig

3、设备去ping网关地址

//验证客户端访问网关(开发板LAN口)

ping 192.168.1.1

3、设备去ping 8.8.8.8

//验证客户端访问外网IP

ping 8.8.8.8

4、设备去ping www.baidu.com

//验证客户端访问域名

ping www.baidu.com

相关推荐
程序员JerrySUN7 分钟前
Linux UART 驱动开发全解析:从原理到实战
linux·运维·驱动开发
热爱运维的小七37 分钟前
从数据透视到AI分析,用四层架构解决运维难题
运维·人工智能·架构
博观而约取1 小时前
Linux 和 macOS 终端中常见的快捷键操作
linux·运维·macos
H1346948901 小时前
华为服务器系统备份,想要备份华为服务器系统可以怎么操作?
运维·服务器·负载均衡
林政硕(Cohen0415)1 小时前
Linux驱动开发进阶(三)- 热插拔机制
linux·驱动开发·热插拔
wangjun51591 小时前
linux,物理机、虚拟机,同时内外网实现方案;物理机与虚拟机互通网络;
linux·服务器·网络
杰克崔1 小时前
分析sys高问题的方法总结
linux·运维·服务器
WSSWWWSSW1 小时前
安装nfs客户端(centos)
linux·运维·centos
深蓝易网1 小时前
为什么制造企业需要用MES管理系统升级改造车间
大数据·运维·人工智能·制造·devops
Bruce-li__2 小时前
深入理解Python asyncio:从入门到实战,掌握异步编程精髓
网络·数据库·python