linux

Linux DHCP与NAT:如何在家庭网络中配置

小樊
55
2025-08-07 01:58:59
栏目: 智能运维

以下是在家庭网络中配置Linux DHCP与NAT的步骤,假设使用双网卡(eth0连接外网,eth1连接内网):

一、配置DHCP服务(自动分配IP)

1. 安装软件包

2. 配置DHCP参数

编辑配置文件 /etc/dhcp/dhcpd.conf,添加以下内容:

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.100 192.168.1.200;  # IP地址池
  option routers 192.168.1.1;         # 网关(Linux内网IP)
  option domain-name-servers 8.8.8.8, 8.8.4.4;  # DNS服务器
}

3. 指定监听接口

编辑 /etc/default/isc-dhcp-server(Debian/Ubuntu)或 /etc/sysconfig/dhcpd(CentOS/RHEL),设置:

INTERFACESv4="eth1"  # 仅监听内网接口

4. 启动服务

sudo systemctl start isc-dhcp-server  # Debian/Ubuntu
sudo systemctl start dhcpd          # CentOS/RHEL
sudo systemctl enable isc-dhcp-server # 开机自启

二、配置NAT(共享外网)

1. 启用IP转发

编辑 /etc/sysctl.conf,取消注释或添加:

net.ipv4.ip_forward=1

生效配置:

sudo sysctl -p

2. 配置iptables规则

3. 保存规则(防止重启丢失)

三、验证配置

  1. 检查DHCP服务
    • 在客户端设备(如手机、电脑)设置“自动获取IP”,连接内网后,通过 ipconfig(Windows)或 ifconfig(Linux/macOS)查看是否获取到IP(应在192.168.1.100-200范围内),且网关为192.168.1.1
  2. 测试外网访问
    • 在客户端执行 ping 8.8.8.8 或访问网页,确认可正常访问互联网。
  3. 查看NAT规则
    sudo iptables -t nat -L -n -v,确认POSTROUTING链中有MASQUERADE规则。

注意事项

参考来源:[1,2,3,5,6,7,8,9,10,13,15]

0
看了该问题的人还看了