iptables设置

查看状态

service iptables status

查看规则

iptables -L -n

放行端口

iptables -I INPUT -p tcp --dport 8112 -j ACCEPT

开放全部端口

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
//清除现有规则
iptables -F

服务命令

//启动服务
# /etc/init.d/iptables start 
service iptables start

//停止服务
# /etc/init.d/iptables stop
service iptables stop

//重启服务
# /etc/init.d/iptables restart
service iptables restart

端口转发(不完善)

单端口 端口转发

iptables -t nat -A PREROUTING -p tcp --dport [本地端口] -j DNAT --to-destination [目标IP:目标端口]
iptables -t nat -A PREROUTING -p udp --dport [本地端口] -j DNAT --to-destination [目标IP:目标端口]
iptables -t nat -A POSTROUTING -p tcp -d [目标IP] --dport [目标端口] -j SNAT --to-source [本地服务器主网卡绑定IP]
iptables -t nat -A POSTROUTING -p udp -d [目标IP] --dport [目标端口] -j SNAT --to-source [本地服务器主网卡绑定IP]

以下示例,假设你的国外服务器(被中转服务器)是 1.1.1.1 ,你的SS端口是 10000 ,而你这台正在操作的VPS的主网卡绑定IP(中转服务器)是 2.2.2.2 。

SNAT是指在数据包从网卡发送出去的时候,把数据包中的源地址部分替换为指定的IP,这样,接收方就认为数据包的来源是被替换的那个IP的主机

DNAT,就是指数据包从网卡发送出去的时候,修改数据包中的目的IP,表现为如果你想访问A,可是因为网关做了DNAT,把所有访问A的数据包的目的IP全部修改为B,那么,你实际上访问的是B

iptables -t nat -A PREROUTING -p tcp -m tcp --dport 58999 -j DNAT --to-destination 195.154.226.164:58999
iptables -t nat -A PREROUTING -p udp -m udp --dport 58999 -j DNAT --to-destination 195.154.226.164:58999