Opensourcetechブログ

OpensourcetechによるNGINX/Kubernetes/Zabbix/Neo4j/Linuxなどオープンソース技術に関するブログです。

簡単にLinuxルータを作成する方法

 

こんにちは、opensourcetechの鯨井貴博です

 

 久々にLinuxルータを作って、ちょっとハマったので備忘録を残しておこうと思います。

 

作成するのは、以下の構成中のLinuxルータです。

なお、ディストリビューションはCentOS6を使ってます。

 

 

⓪ネットワーク構成

f:id:opensourcetech:20171103215112p:plain

 

 

①Linux(CentOS)でルーティング(パケット転送)を有効化

恒久的な有効化

・/etc/sysctl.conf内のnet.ipv4.ip_forwardを1に変更し、

 Linuxを再起動します。

 [root@localhost ~]# vi /etc/sysctl.conf
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.
#
# Use '/sbin/sysctl -a' to list all possible parameters.
 
# Controls IP packet forwarding
net.ipv4.ip_forward = 1

 [root@localhost ~]# reboot

 一時的な有効化

・/proc/sys/net/ipv4/ip_forwardの値を0から1に変更します。

 [root@localhost ~]# cat /proc/sys/net/ipv4/ip_forward
0
[root@localhost ~]# echo 1 > /proc/sys/net/ipv4/ip_forward
[root@localhost ~]# cat /proc/sys/net/ipv4/ip_forward
1

 

②必要なスタティックルーティングを追加

[root@localhost ~]# route add -net 192.168.11.0/24 gw 10.1.1.1

[root@localhost ~]# route add -net 192.168.12.0/24 gw 10.1.1.2
[root@localhost ~]# route add -net 192.168.13.0/24 gw 10.1.1.3

[root@localhost ~]# route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.13.0 10.1.1.3 255.255.255.0 UG 0 0 0 eth0
192.168.12.0 10.1.1.2 255.255.255.0 UG 0 0 0 eth0
192.168.11.0 10.1.1.1 255.255.255.0 UG 0 0 0 eth0
10.1.1.0 * 255.255.255.0 U 1 0 0 eth0
192.168.1.0 * 255.255.255.0 U 1 0 0 eth1

 

 

設定自体は対したことはないのですが、

ip_forwardの変更は忘れがちですので注意が必要です。

 

 

③NATを実施

これは必須ではないですが、

Linuxルータより上位のルータへルーティングなどを追加できないケースでは、

NATがないと「192.168.11-13.0/24ってどこよ?」となり、

通信が成立しません。

[root@localhost ~]# iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

 

 

 

opensourcetech 

 

 

にほんブログ村 IT技術ブログ Linuxへ
Linux

にほんブログ村 IT技術ブログ オープンソースへ
オープンソース

 

Opensourcetech by Takahiro Kujirai