broncotc / napt66

Automatically exported from code.google.com/p/napt66
1 stars 1 forks source link

napt66 for tomato.RAF #36

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
简述:

移植napt66到tomato.RAF,tomato内核版本是2.6.22.19,移植需要修改�
��许代码。tomato固件对ipv6的使用很多都配置好了,包括radvd等
配置,可能需要关闭掉这些默认配置,进行自定义配置。修��
�内核少许代码不知道是否会带来兼容性问题。

修改代码:

napt66
 napt66_main.c 
  117 NF_INET_PRE_ROUTING  ->  NF_IP6_PRE_ROUTING
  125 NF_INET_POST_ROUTING  ->  NF_IP6_POST_ROUTING

 napt66_conntrack.c
  305 net = sock_net((const struct sock *)sock->sk);  ->  /*net = sock_net((const struct sock *)sock->sk);*/
  306 dev = dev_get_by_name(net,if_name);  ->  dev = dev_get_by_name(if_name);

 napt66_ftp_alg.c
  9 #define INET6_ADDRSTRLEN 46
    #define IPPROTO_TCP 6

编译成功,ko文件出现。

编译tomato固件,修改内核代码什么的不多说了

配置使用:
1.路由器上ipv6设置选为其他,,关闭路由器自带的radvd广播,
路由器ipv6静态地址设置成手动fc00:101:101::1,接受远程访问自w
an。
2.自行编译一个改完代码版radvd进路由,添加配置文件启动radv
d
interface br0
{
  AdvSendAdvert on;
  MinRtrAdvInterval 5;
  MaxRtrAdvInterval 10;

  AdvManagedFlag off;
  AdvOtherConfigFlag off;
  AdvDefaultPreference high;

  prefix fe00:0101:0101::/64
  {
    AdvOnLink on;
    AdvAutonomous on;
    AdvRouterAddr on;
  };

};
启动后,加载模块:insmod napt66.ko wan_if=vlan1
3.测试,电脑ping6 ipv6.google.com全部超时,路由ping6 
ipv6.google.com全部正常,通过修改napt66源代码,添加调试信息��
�现数据包转换向wan发出正常,数据包从wan接收到并且转换也�
��常,问题出在接收到wan的数据包NAT转换后交给系统内核后,
内核貌似并没有把数据包转交给内网电脑,不知道是什么原��
�,在此向大家求助了。

Original issue reported on code.google.com by q741...@gmail.com on 17 Sep 2011 at 3:01

Attachments:

GoogleCodeExporter commented 9 years ago
问题已经解决,原因是路由器自带的ipv6服务比较乱,不知道�
��是怎么配置的,web界面关闭ipv6,自己用代码开启ipv6功能就�
��以了。
正在准备把napt66做成界面放到tomato固件上

Original comment by q741...@gmail.com on 19 Sep 2011 at 2:21

GoogleCodeExporter commented 9 years ago
另外,编译出来的ko太大怎么办,505K,strip了也没用,还是这
么大,怎么回事呢?

Original comment by q741...@gmail.com on 19 Sep 2011 at 2:28

GoogleCodeExporter commented 9 years ago
问题解决,要去掉-ggdb参数

Original comment by q741...@gmail.com on 21 Sep 2011 at 10:46

GoogleCodeExporter commented 9 years ago
问下怎样用代码开启ipv6功能?现在也是同样的情况

Original comment by pentium....@gmail.com on 7 Oct 2012 at 9:59