找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 19272|回复: 19

[基础] 冒个泡,顺便请教一下动态ip做ipip的办法

[复制链接]
发表于 2016-3-15 01:51:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
两个内网想互通(公网都是动态ip),首先想到最简单的ipip(当然其他办法也可以),本来想着用域名也凑合,结果发现local address非ip不可,还有其他啥办法可以实现目的?
routeros
发表于 2016-3-15 08:45:14 | 显示全部楼层
gre tunnel不用写local ip

点评

收工,完成,感谢  发表于 2016-3-15 14:31
routeros
回复

使用道具 举报

发表于 2016-3-15 11:33:12 | 显示全部楼层
租个vps就成了。两边都拨vpn过去。做策略路由。

补充内容 (2016-3-17 08:21):
firewall上面做nat转发或者直通
routeros
回复

使用道具 举报

发表于 2016-5-2 17:24:26 | 显示全部楼层
本帖最后由 cspm333 于 2016-5-2 19:40 编辑

假如您兩台router的域名平時有做更新動作:
router1: aaa.changeip.org
router2: bbb.changeip.org

router1 script:

:if ([/interface ipip get ipip-tunnel1 local-address]!=[:resolve aaa.changeip.org] || \
     [/interface ipip get ipip-tunnel1 remote-address]!=[:resolve bbb.changeip.org]) \
  do={/interface ipip set ipip-tunnel1 local-address=[:resolve aaa.changeip.org] remote-address=[:resolve bbb.changeip.org]}

router2 script: 同上,將域名置換即可.


routeros
回复

使用道具 举报

发表于 2016-5-2 18:42:38 | 显示全部楼层
一端用pptp或者L2TP 做服务器。一端拨入。性能会比 gre tunnel  相差很多吗?
routeros
回复

使用道具 举报

发表于 2016-5-2 19:30:24 | 显示全部楼层
本帖最后由 cspm333 于 2016-5-2 21:53 编辑
hainanmm 發表於 2016-5-2 18:42
一端用pptp或者L2TP 做服務器。一端撥入。性能會比 gre tunnel  相差很多嗎?

pptp連線時會建gre隧道,事實是用gre傳遞封包的

除pptp-server可供加密外;
l2tp/ipip/gre 本身並無加密選項,但可附掛ipsec加密使用.

不加密時性能其實是差不多的;加密的話就得依演算法而定...
加密程度越複雜,傳遞性能越差(因 加密/解密過程需消費兩端運算所致)

routeros
回复

使用道具 举报

 楼主| 发表于 2016-5-3 22:33:49 | 显示全部楼层
感谢继续捧场,有时间再测试cspm333的script,目视应该可以。
6楼已经回复了5楼,我就不续貂了,差别还是可观的。

额外,我现在在用gre tunnel,实际使用中有时候会出现一个问题,假如直接连接另一个内网的服务(两边rosgre tunnel连接,访问另一个内网的web或ftp或mysql等等),有时候会无法建立连接(但有时候又会正常),但我在电脑上直接ppptp过去就绝对正常,因为不常用,还没静心下来排查,大家帮忙指条捷径?
routeros
回复

使用道具 举报

发表于 2016-5-3 23:56:24 | 显示全部楼层
本帖最后由 cspm333 于 2016-5-4 01:14 编辑

因您給的資訊不夠多,只能約略臆測.
1.若您有使用多線,問題多出在/ip firewall mangle的mark-routing,沒將遠端網段排除.
2.若是單線,則可能出在/ip firewall nat的src-nat上
3.路由表也很有可能 ,如:VPN連繫的優先權<網際網路 (連繫優先權由distance決定,數目越小越優先)
若網際網路優先權>VPN ,連繫遠端的封包會誤送公眾網路,而非VPN對端.
routeros
回复

使用道具 举报

发表于 2016-5-4 01:00:50 | 显示全部楼层
本帖最后由 cspm333 于 2016-5-4 11:57 编辑
seignior 發表於 2016-5-3 22:33
感謝繼續捧場,有時間再測試cspm333的script,目視應該可以。
6樓已經回覆了5樓,我就不續貂了,差別還是 ...

其實小弟有個想法,您為何不利用ipsec建site to site呢?
RouterA :192.168.1.0/24  (1.1.1.1 / aaa.changeip.org)
RouterB :192.168.2.0/24  (2.2.2.2 / bbb.changeip.org)

RouterA:
/ip ipsec proposal
set [ find default=yes ] enc-algorithms=3des,aes-128-cbc

/ip ipsec peer
add address=2.2.2.2/32 comment=site-to-site enc-algorithm=aes-128 \
  local-address=1.1.1.1 nat-traversal=no secret=sts
#sts是私人ipsce密碼,可置換

/ip ipsec policy
add comment=site-to-site dst-address=192.168.2.0/24 sa-dst-address=2.2.2.2 \
  sa-src-address=1.1.1.1 src-address=192.168.1.0/24 tunnel=yes

/ip firewall nat
add chain=srcnat action=accept  place-before=0 src-address=192.168.1.0/24 dst-address=192.168.2.0/24

script:
:local localip [/ip address get [find interface=pppoe-out1] address] ; :set localip [:pick $localip 0 [:find $localip "/"]]
:local remoteip [:resolve bbb.changeip.org]
:local peerA [/ip ipsec peer find comment=site-to-site] ; :local policyA [/ip ipsec policy find comment=site-to-site]

:if ([/ip ipsec peer get  $peerA address]!="$remoteip/32" || [/ip ipsec peer get $peerA local-address]!=$localip ||
      [/ip ipsec policy get $policyA sa-dst-address]!=$remoteip || [/ip ipsec policy get $policyA sa-src-address]!=$localip) \
  do={/ip ipsec peer set $peerA address="$remoteip/32" local-address=$localip
          /ip ipsec policy set $policyA sa-dst-address=$remoteip sa-src-address=$localip}


RouterB:
/ip ipsec proposal
set [ find default=yes ] enc-algorithms=3des,aes-128-cbc

/ip ipsec peer
add address=1.1.1.1/32 comment=site-to-site enc-algorithm=aes-128 \
  local-address=2.2.2.2 nat-traversal=no secret=sts
#私人ipsce密碼,要與RouterA同

/ip ipsec policy
add comment=site-to-site dst-address=192.168.1.0/24 sa-dst-address=1.1.1.1 \
  sa-src-address=2.2.2.2 src-address=192.168.2.0/24 tunnel=yes

/ip firewall nat
add chain=srcnat action=accept  place-before=0 src-address=192.168.2.0/24 dst-address=192.168.1.0/24

script:
:local localip [/ip address get [find interface=pppoe-out1] address] ; :set localip [:pick $localip 0 [:find $localip "/"]]
:local remoteip [:resolve aaa.changeip.org]
:local peerA [/ip ipsec peer find comment=site-to-site] ; :local policyA [/ip ipsec policy find comment=site-to-site]

:if ([/ip ipsec peer get  $peerA address]!="$remoteip/32" || [/ip ipsec peer get $peerA local-address]!=$localip ||
      [/ip ipsec policy get $policyA sa-dst-address]!=$remoteip || [/ip ipsec policy get $policyA sa-src-address]!=$localip) \
  do={/ip ipsec peer set $peerA address="$remoteip/32" local-address=$localip
          /ip ipsec policy set $policyA sa-dst-address=$remoteip sa-src-address=$localip}


routeros
回复

使用道具 举报

发表于 2016-5-11 19:11:34 | 显示全部楼层
楼上的简直就是神人啊,真厉害,正需要。
routeros
回复

使用道具 举报

发表于 2016-5-12 00:13:30 | 显示全部楼层
又学到了,用四楼的方法是正常,谢谢大神
55555555.png



routeros
回复

使用道具 举报

发表于 2016-8-18 11:48:34 | 显示全部楼层
cspm333 发表于 2016-5-4 01:00
其實小弟有個想法,您為何不利用ipsec建site to site呢?
RouterA :192.168.1.0/24  (1.1.1.1 / aaa.chang ...

那这个 script 多长时间运行一次呢 还是做触发

点评

設定30秒運行一次即可  发表于 2016-8-18 21:01
routeros
回复

使用道具 举报

发表于 2016-8-19 14:10:08 | 显示全部楼层
cspm333 发表于 2016-5-4 01:00
其實小弟有個想法,您為何不利用ipsec建site to site呢?
RouterA :192.168.1.0/24  (1.1.1.1 / aaa.chang ...

按你这方法 我测试了下没用啊  你QQ多少 或者加我下 886716

点评

是ipsec無法連線,還是script無法操作請先釐清...  发表于 2016-8-19 15:42
routeros
回复

使用道具 举报

发表于 2016-8-23 16:08:39 | 显示全部楼层
ROS现在不是都自带DDNS功能吗?直接用DDNS解释到的域名就可以了。
routeros
回复

使用道具 举报

发表于 2019-9-12 14:49:11 | 显示全部楼层
cspm333 发表于 2016-5-2 17:24
假如您兩台router的域名平時有做更新動作:
router1: aaa.changeip.org
router2: bbb.changeip.org

大牛
顶礼膜拜
一直在找解决方案
终于找到了

routeros
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|软路由 ( 渝ICP备15001194号-1|渝公网安备 50011602500124号 )

GMT+8, 2024-3-29 08:13 , Processed in 0.170651 second(s), 13 queries , Gzip On, Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表