iptables端口转发

  1. #本机端口转发
  2. iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  3. iptables -t nat -A PREROUTING -i eth0 -p tcp --dport $public_port -j REDIRECT --to-ports $private_port
  4.  
  5. #外网端口转发需要开启ip_forward
  6. echo "1" > /proc/sys/net/ipv4/ip_forward
  7. iptables -t nat -A PREROUTING -p tcp -m tcp --dport $local_port -j DNAT --to-destination $dest:$port
  8. iptables -t nat -A POSTROUTING -p tcp -m tcp --dport $local_port -j SNAT --to-source $local_ip

iptables出口IP轮询

  1. iptables -I POSTROUTING -t nat -o $ETHX -p tcp -m state --state NEW -m tcp --dport $DPORT -m statistic --mode nth --every $IP_NUM -j SNAT --to-source $SourceIP

centos安装socks server 5

centos安装ss5代理并iptables指定出口IP

  1. wget http://jaist.dl.sourceforge.net/sourceforge/ss5/ss5-3.6.1-1.tar.gz
  2. tar zxvf ss5-3.6.1-1.tar.gz
  3. cd ss5-3.6.1
  4. ./configure 
  5. make
  6. make install
  7. cd /etc/opt/ss5/
  8. cp ss5.conf ss5.conf.bak && cp ss5.passwd ss5.passwd.bak
  9.  
  10. 关闭匿名代理,改为需要验证
  11. auth    0.0.0.0/0               -               -
  12. 修改为
  13. auth    0.0.0.0/0               -               u
  14.  
  15. 启动ss5
  16. service ss5 start
  17.  
  18. 拿掉socks4
  19. cd /usr/lib/ss5/
  20. mv mod_socks4.so mod_socks4.so.bak
  21.  
  22. 比较土的办法,写信问作者,千篇一律的回复
  23. 官方文档上route5个选项,而配置文件里只有4
  24.  
  25. 1 ) 添加用户:
  26. useradd user -s /bin/false -p pwd
  27.  
  28. 2 ) 得到用户UID
  29. awk -F: '/^user:/{print $1,$4}'  /etc/passwd
  30.  
  31. 3 ) 定义iptables
  32. iptables -t mangle -A OUTPUT -m owner --uid-owner USER_UID -j MARK --set-mark USER_UID
  33. iptables -t nat -A POSTROUTING -m mark --mark USER_UID -j SNAT --to-source outgoing-IP
  34.  
  35. 4 ) 已用户模式启动ss5,绑定iptables出口IP
  36. ss5 -u user -b outgoing-IP:port
  37.  
  38. note: 编译报错就把这些装上去
  39. yum -y install pam-devel autpmake make gcc openldap-devel.i386

Linux杀手锏之无效路由_route-add-or-del-host-ip-reject

昨天在iptables入门学习之iptables的INPUT,OUTPUT,FORWARD 这篇文章里提到用iptables来封锁一个IP的数据包的进或出。但是如果数据量很大的话,iptables就会随着数据量增大而增加机器的负担。其实对付大流量的攻击,国外的ISP在网络层上直接就block掉,直译为“无效路由”命令是: route add -host ip或者域名 reject
查看路由表,不解析成域名或机器名,只显示IP, 等价于netstat -rn
指定的规则将在重启后失效

  1. debian:~# route -n
  2. Kernel IP routing table
  3. Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
  4. 192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
  5. 0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0

Read more »

iptables入门学习之iptables的INPUT,OUTPUT,FORWARD

说来笑话,我一个网管对iptables竟然一窍不通?自己也觉得实在说不过去,今天学习一下iptables的入门,记录下来如何使用iptables禁止1个IP的连接,如何删除iptables已定义的规则。
测试机的IP分别为 192.168.0.4 与 192.168.0.8,以下简称.4与.8
在.4上用iptables禁止禁止.8所有的INPUT数据包
Read more »

1 1