用Linux系统设置共享上网

直接说,Linux做共享上网就三步搞定。

第一步装DHCP。
终端敲命令sudo apt install isc-dhcp-server就行。
改配置文件/etc/dhcp/dhcpd.conf,加这几行: bash option domain-name-servers 2 02 .9 6 .1 3 4 .1 8 8 ,2 02 .9 6 .1 3 4 .1 3 3 ; default-lease-time 6 00; max-lease-time 7 2 00; subnet 1 9 2 .1 6 8 .1 .0 netmask 2 5 5 .2 5 5 .2 5 5 .0 { range 1 9 2 .1 6 8 .1 .2 1 9 2 .1 6 8 .1 .2 00; option routers 1 9 2 .1 6 8 .2 0.1 ; }
这份数据说,给1 9 2 .1 6 8 .1 .2 到2 00这些IP,网关是1 9 2 .1 6 8 .2 0.1
第二步改Linux主机设置。
给它加个IP,1 9 2 .1 6 8 .2 0.1 ,网关就是它。
改网络配置文件,写上: bash auto eth0:1 iface eth0:1 inet static address 1 9 2 .1 6 8 .2 0.1 netmask 2 5 5 .2 5 5 .2 5 5 .0
然后开IP转发,临时用sudo sh -c "echo 1 > /proc/sys/net/ipv4 /ip_forward",永久改/etc/sysctl.conf,加行net.ipv4 .ip_forward=1 再跑sudo sysctl -p。

第三步改防火墙。
加条规则放行1 9 2 .1 6 8 .2 0.0/2 4 网段,再加条放行已建立连接。
如果主机外网接口是eth1 ,NAT规则要改: bash sudo iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
保存规则用sudo iptables-save > /etc/iptables.rules。

客户端直接选自动获取IP就行。
注意,外网接口名得改对。

Linux下DHCP服务如何启动

等等,还有个事,我上次在办公室折腾DHCP,那台老MacBook突然连不上网了。
我打开终端,输入sudo journalctl -u isc-dhcp-server -f,看着日志一行行滚下来,终于发现是配置文件的IP范围写错了。
那天是周三下午,阳光从百叶窗漏进来,在地板上割出几道亮痕。
我突然想到,其实配置这些服务的时候,最重要的是耐心,还有备份。
比如把/etc/dhcp/dhcpd.conf备份到U盘里,万一搞砸了,还能快速恢复。
不过话说回来,现在这些新生代的服务器,比如Kea,是不是比老派的ISC更顺手一点?