Top/Linux/PCルータ

PCルータはてなブックマーク

よく分かってないです。ごめんなさい。
以下

ルータグローバルIP172.16.0.1
ルータプライベートIP192.168.0.1
DNS192.168.0.2
Web192.168.0.3

と仮定。

IPフォワード

vi /etc/sysctl.conf
net.ipv4.ip_forward = 1
/sbin/sysctl -p

確認

cat /proc/sys/net/ipv4/ip_forward

iptables

vi masq.sh
#!/bin/sh
    IPTABLES="/sbin/iptables"
     GLOBAL="172.16.0.1"
    PRIVATE="192.168.0.1/255.255.255.0"
        WEB="192.168.0.3"

# initialize ###
    $IPTABLES -F
    $IPTABLES -X
    $IPTABLES -t nat -F
    $IPTABLES -t nat -X
    $IPTABLES -t mangle -F
    $IPTABLES -t mangle -X
    $IPTABLES -P INPUT DROP
    $IPTABLES -P OUTPUT DROP
    $IPTABLES -P FORWARD ACCEPT

# Masquerade ###
  # ルータグローバルIPが固定なら
  $IPTABLES -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 172.16.0.1
  # ルータグローバルIPがダイナミックDNSなどIPの変化するなら
  #$IPTABLES -t nat -A POSTROUTING -o eth0 -j MASQUERADE

# lo #####
    $IPTABLES -A INPUT  -i lo -j ACCEPT
    $IPTABLES -A OUTPUT -o lo -j ACCEPT

  # dns
    $IPTABLES -A INPUT -i eth0 -p udp --dport 53 -j ACCEPT
    $IPTABLES -A OUTPUT -o eth0 -p udp --sport 53 -j ACCEPT
    $IPTABLES -A INPUT -i eth0 -p udp --sport 53 -j ACCEPT
    $IPTABLES -A OUTPUT -o eth0 -p udp --dport 53 -j ACCEPT

  # ping
    $IPTABLES -A INPUT -i eth1 -p icmp -j ACCEPT -s $PRIVATE
    $IPTABLES -A OUTPUT -o eth1 -p icmp -j ACCEPT -d $PRIVATE

  # ssh
    $IPTABLES -A INPUT -i eth1 -p tcp -m state --state NEW,ESTABLISHED,RELATED --dport 22 -j ACCEPT -s $PRIVATE
    $IPTABLES -A OUTPUT -o eth1 -p tcp -m state --state ESTABLISHED,RELATED --sport 22 -j ACCEPT -d $PRIVATE

  # dhcp
    $IPTABLES -A INPUT -i eth1 -p udp --sport 68 --dport 67 -j ACCEPT -s $PRIVATE
    $IPTABLES -A OUTPUT -o eth1 -p udp --sport 67 --dport 68 -j ACCEPT -d $PRIVATE

# NAT ###
  # web
    $IPTABLES -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to $WEB
chmod a+x ./masq.sh
./masq.sh

DHCP

apt-get install dhcp
cp /usr/share/doc/dhcp-3.0pl1/dhcpd.conf.sample /etc/dhcpd.conf
vi /etc/dhcpd.conf
ddns-update-style interim;
ignore client-updates;

subnet 192.168.0.0 netmask 255.255.255.0 {

# --- default gateway
        option routers                  192.168.0.1;
        option subnet-mask              255.255.255.0;

#       option nis-domain               "domain.org";
#       option domain-name              "domain.org";
        option domain-name-servers      192.168.0.2;

        option time-offset              -18000; # Eastern Standard Time
#       option ntp-servers              172.16.0.1;
#       option netbios-name-servers     172.16.0.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
#       option netbios-node-type 2;

        range dynamic-bootp 192.168.0.100 192.168.0.200;
        default-lease-time 21600;
        max-lease-time 43200;

eth0を外、eth1を内にしたい鬼っ子は

vi /etc/sysconfig/dhcpd
# Command line options here
DHCPDARGS=eth1

セキュリティ

Linux/Rootkit Hunterを入れたりして対策したつもりになる。

参考

Amazon

差分 一覧