NAT/Route/Tunnel三种模式实现代码简介

来源:互联网 发布:域名真实ip 编辑:程序博客网 时间:2024/06/13 09:34


网络通用流程

<入网>&<接口配置>&<防火墙配置>&[NAT配置]&<网络模式配置>&[VPN配置]&<路由配置>&<结束>

入网:

CM

接口配置:

IPV4 DATA:data_pesi.sh
IPV6 DATA:ipv6_net_setup.sh
VOIP IPV4:scwan_pesi.sh

防火墙配置:

killall -TSTP goahead -> firewall.c

NAT配置:

killall -TSTP goahead -> nat_pesi.sh

网络模式配置

allnetconfig.sh

VPN配置:

GRE L2:gre_pesi.sh
GRE L3:gre_trans_bridge.sh
L2TP L2:l2tp_l2.sh
L2TP L3:l2tp_l3.sh

路由配置:

static_route.sh

防火墙:

iptables -A INPUT -p tcp --dport 3000 -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

NAT

iptables -t nat -A POSTROUTING -s "$lan_ip"/"$lan_netmask" -o $wan_if -j MASQUERADE

Route

route add -net "${destipadd}" netmask "${routemask}" gw "${gatway} "

GRE L2

ip link add $grename type gretap remote $gre_remote_ip local $gre_local_ip ttl 255
ip link set dev $grename up
brctl addif br0 $grename

GRE L3

ip tunnel add $grename mode gre remote $gre_remote_ip local $gre_local_ip ttl 255
ip link set $grename up
ip addr add ${gre_tunnel_ip}/${gre_tunnel_ip_mask} dev $grename
iptables -t nat -A POSTROUTING -s "$lan_ip"/"$lan_netmask" -o gre1 -j MASQUERADE

L2TP L2

brctl addif br0 bcp0
ifconfig bcp0 up

L2TP L3

iptables -t nat -A POSTROUTING -s "$lan_ip"/"$lan_netmask" -o ppp0 -j MASQUERADE

0 0