shadowvpn 的 iptables 规则问题

2016-10-24 10:32:25 +08:00
 tys

在 vps 上部署了 shadowvpn , shadowvpn 启动的时候会运行 server_up.sh 这个脚本将两条规则(-A FORWARD -s 10.7.0.0/16 -m state --state RELATED,ESTABLISHED -j ACCEPT 和 -A FORWARD -d 10.7.0.0/16 -j ACCEPT )写入 iptables 。

我的 iptables 里有下面两条默认的规则在 iptables 的最底部。 -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icml-host-prohibited

问题是 server_up.sh 注入的规则都放在了默认两条规则的下面,这也就意味着注入的规则失效了。

下面是 server_up.sh 脚本的内容 #!/bin/sh

This script will be executed when server is up. All key value pairs (except

password) in ShadowVPN config file will be passed to this script as

environment variables.

Turn on IP forwarding

sysctl -w net.ipv4.ip_forward=1

Configure IP address and MTU of VPN interface

ip addr add $net dev $intf ip link set $intf mtu $mtu ip link set $intf up

turn on NAT over VPN

if !(iptables-save -t nat | grep -q "shadowvpn"); then iptables -t nat -A POSTROUTING -s $net ! -d $net -m comment --comment "shadowvpn" -j MASQUERADE fi iptables -A FORWARD -s $net -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -d $net -j ACCEPT

Turn on MSS fix (MSS = MTU - TCP header - IP header)

iptables -t mangle -A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

echo $0 done

请问如何怎么样才能将注入规则自动置于默认规则的上方?

2240 次点击
所在节点    Linux
3 条回复
weakiwi
2016-10-24 10:56:11 +08:00
试下 -I ,之前我看说 i 是 insert , a 是 append
w99wen
2016-10-24 11:50:36 +08:00
iptables -I INPUT 4(添加到的行号) -i eth0 -p udp --dport 5022 -j ACCEPT
这么写就可以插入了。
我用 centos 默认结尾有个 reject 。用这种方式就行了。
tys
2016-10-25 10:25:21 +08:00
谢谢回复,我有空去再试一下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/314945

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX