前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Ubuntu 上通过以太网分享网络连接(NAT)

Ubuntu 上通过以太网分享网络连接(NAT)

原创
作者头像
Power
发布2023-05-31 10:07:08
7830
发布2023-05-31 10:07:08
举报
文章被收录于专栏:源码库源码库

Ubuntu 自带网络分享功能,但该功能很不稳定,往往断开连接后再连就无法使用了。 现在我们使用 DNSMASQ+IPTables 手动配置NAT.

禁用 systemd-resolved

Ubuntu 提供的 systemd-resolved 抢占53端口,首先禁用它。

代码语言:javascript
复制
systemctl stop systemd-resolvedsystemctl disable systemd-resolved

删除不当设置

如果你之前配置过网络分享或已经用有线连接过电脑了,则需要这一步 运行 nm-connection-editor 删除所有有关你要分享的网卡的设置

安装并配置DNSMASQ

安装

代码语言:javascript
复制
apt install dnsmasqservice dnsmasq stopnano /etc/dnsmasq.conf

编辑 /etc/dnsmasq.conf,加入下列内容:

代码语言:javascript
复制
dns-forward-max=15000#eno1为你的要分享的网卡名interface=eno1dhcp-range=192.168.33.2,192.168.33.150,255.255.255.0,12h

配置域名解析

代码语言:javascript
复制
nano /etc/resolv.conf

填写你的DNS服务器,例如:

代码语言:javascript
复制
nameserver 223.5.5.5nameserver 223.6.6.6nameserver 114.114.114.114

启用内核IPV4转发

代码语言:javascript
复制
/etc/sysctl.conf

加入:

代码语言:javascript
复制
net.ipv4.ip_forward=1

运行:

代码语言:javascript
复制
sysctl -p

配置转发,为网卡分配初始IP

eno1为你的要分享的网卡名 enp2s0为有网的(被分享的)网卡名

代码语言:javascript
复制
ifconfig eno1 192.168.33.2iptables -t nat -A POSTROUTING -o enp2s0 -j MASQUERADEiptables -A FORWARD -i eno1 -o enp2s0 -m state --state RELATED,ESTABLISHED -j ACCEPT

上述内容重启后无效,可加入 /etc/rc.local 以开机自动应用。

启动DNSMASQ

代码语言:javascript
复制
systemctl enable dnsmasqsystemctl start dnsmasqsystemctl status dnsmasq

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 禁用 systemd-resolved
  • 删除不当设置
  • 安装并配置DNSMASQ
  • 配置域名解析
  • 启用内核IPV4转发
  • 配置转发,为网卡分配初始IP
  • 启动DNSMASQ
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档