一、连网部分
1、准备
主机A:ubuntu16.04
主机B:ubuntu16.04
2、主机A有两个网卡,一个接外网,一个与主机B相接。
使用命令iwconfig可以查看主机所有网卡。如上图笔者的A主机(笔记本)上的网卡有:
wlp2s0 : 这个是无线网卡。
enp1s0 : 有线网卡,与B主机相连的网卡。
其它与我们无关,无需关心。
3、配置A的静态IP
为接口enp1s0配置静态IP地址,执行命令
$ sudo ifconfig enp1s0 192.168.50.1/24
$ ifconfig 命令查看enp1s0 ip配置是否成功(成功的效果如下图)
4、配置B静态IP
执行以下命令
$ sudo ifconfig enp2s0 192.168.50.2/24
$ sudo route add -net 0.0.0.0/0 gw 192.168.50.1
$ sudo echo "nameserver 114.114.114.114" > /etc/resolv.conf
到现在为止,在B主机上执行命令 ping 192.168.50.1 可以正常ping 通,说明以上工作都正确了。
5、配置NAT
这一步是为了B主机能通过A主机访问外网。
在A主机上依次执行
# echo 1 > /proc/sys/net/ipv4/ip_forward // 打开ip转发
# iptables -F
# iptables -P INPUT ACCEPT
# iptables -P FORWARD ACCEPT
# iptables -t nat -A POSTROUTING -o wlp2s0 -j MASQUERADE (wlp2s0为A主机接外网的网卡)
至此,B主机能访问外网,在B主机上执行ping www.baidu.com 能正常ping 通 。
二、端口映射部分
假设
(1)主机A的外网网卡 wlp2s0的外网IP地址为 113.15.3.32;
(2)主机B上打开TCP端口22;
(3)我们要通过 113.15.3.32:3022 这个端口来访问主机B的22端口
要在主机A上进行以下配置:
$ iptables -t nat -A PREROUTING -p tcp -d 113.15.3.32 --dport 3022 -j DNAT --to 192.168.50.2:22