在Ubuntu中使用dnsmasq:DHCP分发IP,systemd-resolved(解析DNS)和iptables转发流量

sudo -i

1、安装dnsmasq、iptables-persistent

apt install dnsmasq iptables-persistent

2、插入无线网卡、有线网卡,并把有线网卡用网线接到无线路由器上

3、修改/etc/systemd/resolved.conf

修改DNSStubListenerExtra=0.0.0.0 ,以监听所有接口

4、修改/etc/dnsmasq.conf

port=0 #关闭dnsmasq的DNS功能

interface=enx00e04c1516e9 #这是需要进行DHCP广播的有线网卡接口名,

dhcp-range=192.168.2.100,192.168.2.200,255.255.255.0,24h #地址池的开始IP、结束IP、子网掩码和租期

dhcp-option=6,192.168.2.1 #设置DHCP广播中的DNS服务器地址(本机)

log-facility=/var/log/dnsmasq.log

log-queries

log-dhcp

配置完后,systemctl restart dnsmasq

5、配置接口IP为192.168.2.1(静态)

首先使用nmcli connection show

nmcli con mod Wired\ connection\ 2 ipv4.addresses 192.168.2.1/24

nmcli con mod Wired\ connection\ 2 ipv4.gateway 192.168.2.1

nmcli con mod Wired\ connection\ 2 ipv4.method manual

(DNS配置且忽略,因为不使用+避免循环查询)

nmcli con down Wired\ connection\ 2

nmcli con up Wired\ connection\ 2

6、检查是否有客户端得到IP

cat /var/lib/misc/dnsmasq.leases

7、配置流量转发

nano /etc/sysctl.conf

net.ipv4.ip_forward=1

sysctl -p

iptables -t nat -A POSTROUTING -o enxf04bb3b9ebe5 -j MASQUERADE

生成海报

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注