当前位置: 首页 > news >正文

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

# 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

# 关键配置:声明此服务器为权威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

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

//取消注释或添加以下行
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

相关文章:

  • Nessus 扫描Web服务
  • TypeScript vs. JavaScript:技术对比与核心差异解析
  • 【AI论文】探索基于人类反馈的强化学习中的数据扩展趋势与影响
  • 软考教材重点内容 信息安全工程师 第21章 网络设备安全
  • virsh 的工作原理
  • html实现手势密码
  • mapbox基础,使用geojson加载line线图层,实现铁路黑白间隔效果
  • 【PyTorch】继承 nn.Module 创建简单神经网络
  • leetcode 746. Min Cost Climbing Stairs
  • Linux 入门:基础开发工具(上)vim,gcc/g++,make/makefile
  • 太阳能高杆路灯:照亮未来的新光
  • 京东平台商品关键字搜索接口调用指南:Python代码实现与实战解析
  • WinForm真入门(4)——Lable控件详解
  • C++设计模式-责任链模式:从基本介绍,内部原理、应用场景、使用方法,常见问题和解决方案进行深度解析
  • 【Azure】不同构建环境如何正确设置环境变量及故障排查
  • Java 中的继承与多态:面向对象编程的核心特性
  • 可视化开发:用Qt实现Excel级动态柱状图
  • Leetcode hot 100(day 2)
  • 类加载过程?类隔离了解过吗?
  • 如何在WordPress中强制用户使用强密码?
  • 流失79载,国宝文物“子弹库帛书”(二、三卷)回归祖国
  • 泽连斯基:乌代表团已启程,谈判可能于今晚或明天举行
  • 国家卫健委通报:吊销肖某医师执业证书,撤销董某莹四项证书
  • 华东政法与复旦上医签署合作框架协议,医学与法学如何交叉融合?
  • 马上评|中学生被操场地面烫伤,谁的“大课间”?
  • 青海省交通运输厅副厅长田明有接受审查调查