hiro1357 icon

IIJmio FiberAccess/NF 用DS-Liteルーターの構築

hiro1357 | PRO | 06/06/18 05:25:48 AM UTC | 0 ⭐ | 479 👁️ | Never ⏰ | []
Bash |

1.41 KB

|

None

|

0 👍

/

0 👎

#!/bin/bash
# https://www.iij.ad.jp/dev/tech/techweek/pdf/141128_0.pdf を参考にした
# ubuntu用
# apt-get install firewalld されている前提
 
# DS-Liteでつなぐ
modprobe ip6_tunnel
ip -6 tunnel add ip6tnl1 mode ip4ip6 remote 2404:8e00::feed:100 local dead:beef:feed:100:dead:beef:feed:200 dev eth0
ip link set dev ip6tnl1 up
 
# IP Forwardを有効にする
sysctl net.ipv4.ip_forward=1
 
# ちからわざルーティング
# 192.168.0.1はこのトンネル用マシン。含めてルーティングしてしまうとパケットがトンネルに流れてしまい、sshもつながらなくなる。
# ちゃんと設定するなら、priorityを工夫してルーティングしてやるとよいのかもしれない。
for ((ipcount=2; ipcount < 255; ipcount++)); do
  ip rule add from 192.168.0.$ipcount table 10001 priority 32765
done
ip route add table 10001 dev ip6tnl1
ip route add default dev ip6tnl1 metric 10001
ip route flush cache
 
# ファイアウォールをてきとうに設定する
firewall-cmd --permanent --zone=internal --add-masquerade
firewall-cmd --permanent --direct --add-rule ipv4 nat POSTROUTING 0 -o ip6tnl1 -j MASQUERADE
firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i p1p1 -o ip6tnl1 -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 filter FORWARD 0 -i ip6tnl1 -o p1p1 -m state --state RELATED,ESTABLISHED -j ACCEPT
firewall-cmd --reload

Comments