当前位置: 首页 > 工具软件 > FreeS/WAN > 使用案例 >

FreeS/WAN net-to-net 配置(笔录2004-12-15)

汪成仁
2023-12-01

参考文献:
http://www.freeswan.org/freeswan_trees/freeswan-2.04/doc/config.html
网络环境:
LAN A---GW PC A---Internet---GW PC B---LAN B

A和B两边GW都有公网IP
LAN A
IP=192.168.0.0/24 GW=192.168.0.1

LAN B
IP=192.168.1.0/24 GW=192.168.1.1

GW PC A
LAN if=eth0 IP=192.168.0.1
WAN if=eth1 IP=202.100.100.100 GW=202.100.100.254

GW PC B
LAN if=eth0 IP=192.168.1.1
WAN if=eth1 IP=202.100.100.200 GW=202.100.100.254

安装:
两边GW PC上安装FreeS/WAN,推荐RPM安装(简单),源码编译方式我是没有成功过的
推荐下载地址:http://download.freeswan.ca/freeswan-x509/

ipsec.conf配置:
在两边的GW PC上做相同的配置
vi /etc/ipsec.conf
#添加以下信息
conn net-to-net
    left=202.100.100.100 #GW PC A的eth1的IP
    leftsubnet=192.168.0.0/24 #LAN A的网络
    leftid=@xy.example.com #GW PC A的主机名
    leftrsasigkey=0s1LgR7/oUM... #GW PC A上使用ipsec showhostkey --left可以查到该信息
    leftnexthop=%defaultroute #GW PC A的eth1的网关
    right=202.100.100.200 #GW PC B的eth1的IP
    rightsubnet=192.168.1.0/24 #LAN B的网络
    rightid=@ab.example.com #GW PC B的主机名
    rightrsasigkey=0sAQOqH55O... #在GW PC B上使用ipsec showhostkey --right可以查到该信息
    rightnexthop=%defaultroute #GW PC B的eth1的网关
    auto=add #改成auto=start则该隧道在freeswan启动的时候自动完成连接

启动使用:
在两边的GW PC上执行以下命令
#service ipsec start
#ipsec auto --up net-to-net

iptables配置(作为GW需要做NAT服务,但是走ipsec的数据又不能被NAT掉)
GW PC A
iptables -t nat -I POSTROUTING -o eth1 -s 192.168.0.0/24 -d !192.168.1.0/24 -j SNAT --to 202.100.100.100
GW PC B
iptables -t nat -I POSTROUTING -o eth1 -s 192.168.1.0/24 -d !192.168.0.0/24 -j SNAT --to 202.100.100.200

检验隧道是否有效:
在LAN A或LAN B ping对方网络的活动主机
在GW上使用tcpdump -i eth1查看接口eth1的数据流信息
如果有类似以下的信息则表示隧道建立成功
192.168.0.11  >  192.168.1.11:  ESP(spi=0x19d4cbe6,seq=0x16)

 类似资料: