Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

napt66 for tomato.RAF #36

Open
GoogleCodeExporter opened this issue May 28, 2015 · 4 comments
Open

napt66 for tomato.RAF #36

GoogleCodeExporter opened this issue May 28, 2015 · 4 comments

Comments

@GoogleCodeExporter
Copy link

简述:

移植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
Copy link
Author

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

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

@GoogleCodeExporter
Copy link
Author

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

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

@GoogleCodeExporter
Copy link
Author

问题解决,要去掉-ggdb参数

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

@GoogleCodeExporter
Copy link
Author

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

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant