[root@server ~]# vi /etc/sysctl.d/ip_forward.conf
net.ipv4.ip_forward = 1
配置接口伪装
CentOS 7 中使用 firewalld 和 iptables 都能做到接口伪装。CentOS 7 中默认启用的是 firewalld.service 服务。iptables 服务和 firewalld 服务冲突,两者只能启用其中一个。
使用 firewalld 配置接口伪装
如果能使用图形界面配置的话更加简单明了,这里仅使用 firewalld-cmd 命令方式配置。
如果没有启动 firewalld.service 服务,需要先启动 firewalld.service 服务。
systemctl start firewalld.service
将无线接口加入到 trust 区域,并保存配置。默认情况下所有接口属于 public 区域,连接限制比较严格,会导致无法连接。
firewall-cmd --zone=trusted --add-interface=wlp2s0 --permanent
[root@server ~]# firewall-cmd --zone=trusted --add-interface=wlp2s0 --permanent
success
对有线接口所在的区域启用伪装,并保存配置,默认情况下有线接口属于 public 区域。
firewall-cmd --zone=public --add-masquerade --permanent
[root@server ~]# firewall-cmd --zone=public --add-masquerade --permanent
success
重启 firewalld 服务
systemctl restart firewalld.service
使用 iptables 配置接口伪装
如果习惯使用 iptables ,需要安装 iptables-services 这个包,里面包含 iptables.service 和 ip6tables.service 这两个服务,分别用于 ipv4 和 ipv6。
要使用 iptables 需要先停止并禁用 firewalld.service 服务
systemctl stop firewalld.service
systemctl disable firewalld.service
再启用 iptables.service 服务,因为目前还是主要使用 ipv4 所以只启用 iptables.service 就可以。如果使用 iptables 同样需要设置开机启动 iptables.service 服务。
systemctl enable iptables.service
启动 iptables.service 服务
systemctl start iptables.service
接口伪装
iptables -t nat -A POSTROUTING -o p2p1 -j MASQUERADE
一般来说配置上面的命令就可以了,如果防火墙设置比较严格需要添加允许转发无线网卡接口wlp2s0。
iptables -t filter -A FORWARD -i wlp2s0 -j ACCEPT
dnsmasq 配置 dnsmasq 软件安装
dnsmasq 主要负责分配客户端IP地址及DNS解析服务。
没有安装的话先安装 dnsmasq 软件
yum install dnsmasq
设置开机自动启动 dnsmasq 服务
systemctl enable dnsmasq.service
dnsmasq.conf 配置
vi /etc/dmsmasq.conf
[root@server ~]# vi /etc/dnsmasq.conf
# 指定接口,指定后同时附加lo接口,可以使用'*'通配符










