1
johnnie502 2016-11-09 07:08:56 +08:00
不是一条命令的事么,不需要 iptables
echo 1 > /proc/sys/net/ipv4/ip_forward |
2
hanxiV2EX 2016-11-09 08:45:12 +08:00 via iPhone 1
@johnnie502 需要 iptables 配置端口的。
socat 应该更简单,只需要一行命令。 iptables 需要配两行代码。 |
3
hanxiV2EX 2016-11-09 08:59:43 +08:00
|
4
FifiLyu 2016-11-09 09:03:01 +08:00
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p |
5
FifiLyu 2016-11-09 09:03:53 +08:00 2
@FifiLyu
iptables -t nat -A PREROUTING -d 1.1.1.1 -p tcp -m tcp --dport 22 -j DNAT --to-destination 10.0.0.2:22 iptables -t nat -A POSTROUTING -d 10.0.0.2 -p tcp -m tcp --dport 22 -j MASQUERADE service iptables save 这个是转发 SSH 端口。至于 SNMP 你找到默认端口,设置转发即可。 |
6
hanxiV2EX 2016-11-09 09:22:55 +08:00
@FifiLyu
第二行这样配有啥区别不?我不知道这些参数的意思。 iptables -t nat -A POSTROUTING -d 10.0.0.2 -p tcp -m tcp --dport 22 -j SNAT --to-source 1.1.1.1 |
7
webjin1 OP @johnnie502 开启了
|
8
hanxiV2EX 2016-11-09 09:30:11 +08:00
@FifiLyu
查到区别了, MASQUERADE 不适合动态 IP 。如果 1.1.1.1 是动态 IP ,则应该这样配: iptables -t nat -A PREROUTING -p tcp -m tcp --dport 22 -j DNAT --to-destination 10.0.0.2:22 iptables -t nat -A POSTROUTING -d 10.0.0.2 -p tcp -m tcp --dport 22 -j MASQUERADE |
9
FifiLyu 2016-11-09 09:36:26 +08:00
@hanxiV2EX
这个地方, MASQUERADE 和 SNAT 效果基本相同。它们的作用:所有从本地网络出去的包的源地址改为 Internet 连接的地址。如果不作 SNAT 或 MASQUERADE ,返回给客户端的数据包不知道怎么发出去。 区别: SNAT 必须指定 source IP 地址 MASQUERADE 并需要指定 source IP 地址 |
13
webjin1 OP @hanxiV2EX socat 的可以,但是 socat 的 fork 出来的子进程几个小时上上几千,感觉他不会释放出来.
|
14
webjin1 OP @FifiLyu 不行.昨天也找了这个教程.怎么搞也弄不出来.后来看了 iptables 追踪表.
ipv4 2 tcp 6 117 SYN_SENT src=183.60.xxx.xx dst=1.1.1.1 sport=50796 dport=22 [UNREPLIED] src=10.10.0.1 dst=1.1.1.1 sport=22 dport=50796 mark=0 secmark=0 use=3 |