大佬教程收集整理的这篇文章主要介绍了linux – DNAT到127.0.0.1,带有用于透明SOCKS代理的iptables /目标访问控制,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
到目前为止我想到的方法是让一个实例redsocks监听localhost并将所有传出请求重定向到我想转移到该redsocks实例的IP地址.我添加了以下iptables规则:
iptables -t nat -A PRERoutING -p tcp -d 1.2.3.4 -j DNAT --to-desTination 127.0.0.1:12345
显然,Linux内核将来自非127.0.0.0 / 8地址的数据包视为“Martian数据包”并将其丢弃为127.0.0.0/8地址.然而,有效的方法是让redsocks监听eth0而不是lo,然后让iptables将数据包转换为eth0地址(或使用REDIRECT规则).这个问题是我的网络上的每台计算机都可以使用redsocks实例连接到互联网上的每个主机,但我想将其使用限制在一组特定的IP地址.
有没有办法让iptables DNAT包到127.0.0.1?否则,有没有人知道如何在不向所有人开放隧道的情况下实现我的目标?
更新:我还尝试更改数据包的来源,但没有成功:
iptables -t nat -A POSTRoutING -p tcp -s 192.168.1.0/24 -d 1.2.3.4 -j SNAT --to-source 127.0.0.1 iptables -t nat -A POSTRoutING -p tcp -s 192.168.1.0/24 -d 127.0.0.1 -j SNAT --to-source 127.0.0.1
root@vm8583:~# ip link add bogus type dummy root@vm8583:~# sysctl net.ipv4.conf.eth0.arp_ignore=3 root@vm8583:~# ip addr add 10.0.0.1/32 bogus scope host root@vm8583:~# ip link set bogus up root@vm8583:~# ip link show bogus 4: bogus: <BroaDCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNowN mode DEFAULT link/ether 5e:8b:38:f3:46:ce brd ff:ff:ff:ff:ff:ff
注意,您可能需要设置net.ipv4.conf.eth0.arp_ignore = 3以便您的server won’t answer to ARP requests for 10.0.0.1 incoming via eth0:
arp_ignore - IntegeR Define different modes for sending replies in response to received ARP requests that resolve local target IP addresses: . . . 3 - do not reply for local addresses configured with scope host,only resolutions for global and link addresses are replied 4-7 - reserved
以上是大佬教程为你收集整理的linux – DNAT到127.0.0.1,带有用于透明SOCKS代理的iptables /目标访问控制全部内容,希望文章能够帮你解决linux – DNAT到127.0.0.1,带有用于透明SOCKS代理的iptables /目标访问控制所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。