目录

使用iptables将ubuntu配置为路由器

实验环境

使用 vmware 分别创建win7和ubuntu两个虚拟机

ubuntu 18.04

充当网关路由器

网卡1(WAN口):桥接公网

网卡2(LAN口):vmnet15

/posts/linux/ubuntu-iptables-nat/ubuntuvm_hud434d12cf95ba8059a71adbe8877d0e5_19615_721x396_resize_q75_h2_box_3.webp

win7

充当内网客户机

网卡:vmnet15

vmnet15不使用vmware的配置,使用一个空的vmnet

/posts/linux/ubuntu-iptables-nat/win7vm_hu45a1ac92f61f87be9ca3edfa90f8ddf5_18844_702x379_resize_q75_h2_box_3.webp

ubuntu 配置

开启ipv4 forward

修改 /etc/sysctl.conf 开启ipv4的forward功能,将下面的注释打开,如果没有手动添加。

/posts/linux/ubuntu-iptables-nat/ipv4forward_hub479f7817a930c92e9a8b330035e6521_7231_736x150_resize_q75_h2_box_3.webp

sysctl -p 生效

配置网卡信息

ip addr 查看所有网卡的名称和信息

ubuntu18.04使用netplan管理网络,修改其配置文件

sudo nano /etc/netplan/50-cloud-init.yaml

/posts/linux/ubuntu-iptables-nat/ubuntu-net_huf1653534e9c6e3b4a4ab229b48c8e6f7_19047_711x369_resize_q75_h2_box_3.webp

使用 netplan try 检查配置是否正确,如果正确自动应用生效

配置iptables规则

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
//清空已有规则防止干扰
iptables -F

//进、出、转发默认允许
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

//将从子网网段来的连接nat到eno33网卡(互联网),ip改为外网ip
iptables -t nat -A POSTROUTING -s 10.1.2.0/24 -o eno33 -j SNAT --to-source 192.168.254.129

//添加伪装
iptables -t nat -A POSTROUTING -s 10.1.2.0/24 -j MASQUERADE

win7 设置

修改网卡配置如图

/posts/linux/ubuntu-iptables-nat/win7_hu10f4d9a4f6c13bf621a2dce366ffe3f6_83174_986x622_resize_q75_h2_box_3.webp

win7即可通过ubuntu这个网关上网