使用iptables实现nat共享上网、把Linux配置成路由器(DHCP服务)、端口映射
一、使用iptables实现nat共享上网

实现要求:A服务器能上网,B服务器不能上网,主机B通过连接主机A实现上网。
1.让A服务器能够上网(两种方法)
#第一种:在网卡配置文件中添加网关
GATEWAY=10.0.0.2
重启网卡:systemctl restart network
#第二种:添加静态路由
route add -net 0.0.0.0/24 gw 10.0.0.2 (指向所有IP地址,临时的;永久文件route-eth0)
2.在可以上网那台服务器A上,开启内核路由转发功能
#临时
sysctl net.ipv4.ip_forward=1
#y永久
echo "net.ipv4.ip_forward=1">>/etc/sysctl.conf
3.在不能上网的服务器B上,添加网关
#A,B共用网卡172.16.1.12,为了方便解析,添加dns
GATEWAY=172.16.1.12
DNS1=223.5.5.5
这样B还不能上网,需要nat地址装换,在A上添加iptables转发规则(将B的IP地址提前转换为A的IP地址,进行上网)
4.在A服务器上添加iptables转发规则
#先清空所有的规则,免受其影响
iptables -F
iptables -t nat -F
#添加规则
iptables -t nat -A POSTROUTING -s 172.16.1.13/24 -j MASQUERADE
二、把Linux配置成路由器(DHCP服务)
DHCP服务:动态主机配置协议是一个局域网的网络协议。在路由器上启动,使连接该路由器的服务器可以自动获得服务器分配的IP地址、子网掩码、网关和dns。
1.安装DHCP服务
yum install dhcp -y
2.安装完成之后会生成 /etc/dhcp/dhcpd.conf 文件,对该文件进行编辑
#将以下内容写入 /etc/dhcp/dhcpd.conf 文件中,去掉中文
subnet 172.16.1.0 netmask 255.255.255.0 { #172.16.1.0网络号,255.255.255.0子网掩码
range 172.16.1.26 172.16.1.200; #ip地址分配范围
option domain-name-servers 223.5.5.5; #指定给客户端分配的dns地址
option routers 172.16.1.12; #指定给客户端分配的网关ip
option broadcast-address 172.16.1.255; #指定广播地址
default-lease-time 3600; #dhcp默认租约时间
max-lease-time 7200; #dhcp最长租约时间
}
3.启动服务,可设成开机自启
systemctl start dhcpd
systemctl enable dhcpd
三、端口映射
作用:在外网访问公司内网主机上的服务,把在公网的地址转翻译成私有地址
因为公网ip是ping不通内网ip机器的,所以需要端口映射来发挥作用
#访问10.0.0.12 地址,其实会访问 172.16.1.26 地址,进行了地址转换
[root@network02 ~]# iptables -t nat -A PREROUTING -d 10.0.0.12 -p tcp --dport 3022 -j DNAT --to-destination 172.16.1.26:22
#选项,参数
-d 目的ip 10.0.0.12
--dport 目的端口 3022
-p 指定某协议 ,tcp
DANT 做目的ip地址转换
--to-destination 指定最终的目标地址
四、上网行为管理器
panabit (unix) FREEBSD系统
网友评论