Senin, 09 November 2009

Seting NAT

Nah ini adalah langkah-langkah untuk setting NAT pada slackware
*** ASUMSI :
- server mempunyai 2 ethernet, eth0–>Internet ; eth1–>LAN
- IP eth1 di set static, eth0==suka-suka anda
- client mendapat IP dari dhcp server yang sudah kita pasang

*** kalau ada tulisan di konsole seperti:
# fw_nat start|stop|restart

artinya syntax itu dapat disambung dengan start==untuk mulai atau stop==untuk stop atau restart==untuk merestart referensi : OReilly Linux Networking Cookbook (Nov 2007)
paket yang digunakan : sysctl (atau paket apapun lah yang mengandung sysctl)

buat file dengan nama sysctl.conf di /etc , jika sudah ada tinggal di edit aja

# cd /etc/#
vi sysctl.conf

tambahkan baris berikut pada file sysctl.conf

net.ipv4.ip_forward = 1
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.conf.all.accept_source_route = 0

kemudian masuk ke direktori /usr/local/bin kemudian buatlah file dengan nama fw_nat (jika sudah ada, edit saja. kalo tidak ada, YA DIBUAT PAKE TEXT EDITOR. jangan bikin susah sendiri!!!)

kemudian isikan script berikut (script ini dapat ditemukan di referensi pada halaman 52-53) DAN ganti permission-nya agar HANYA root yang bisa read,write,execute

#!/bin/sh
##/usr/local/bin/fw_nat
#iptables firewall script for sharing
#broadband Internet, with no public services
#define variables
ipt=”/sbin/iptables”
mod=”/sbin/modprobe”
LAN_IFACE=”eth0″
WAN_IFACE=”eth1″

#basic set of kernel modules
$mod ip_tables
$mod ip_conntrack
$mod iptable_filter
$mod iptable_nat
$mod iptable_mangle
$mod ipt_LOG
$mod ipt_limit
$mod ipt_state
$mod ipt_MASQUERADE
#add these for IRC and FTP
$mod ip_nat_ftp
$mod ip_nat_irc
$mod ip_conntrack_ftp
$mod ip_conntrack_irc

# Flush all active rules and delete all custom chains
$ipt -F
$ipt -t nat -F
$ipt -t mangle -F
$ipt -X
$ipt -t nat -X
$ipt -t mangle -X

#Set default policies
$ipt -P INPUT DROP
$ipt -P FORWARD DROP
$ipt -P OUTPUT ACCEPT
$ipt -t nat -P OUTPUT ACCEPT
$ipt -t nat -P PREROUTING ACCEPT
$ipt -t nat -P POSTROUTING ACCEPT
$ipt -t mangle -P PREROUTING ACCEPT
$ipt -t mangle -P POSTROUTING ACCEPT

#this line is necessary for the loopback interface
#and internal socket-based services to work correctly
$ipt -A INPUT -i lo -j ACCEPT

#Enable IP masquerading
$ipt -t nat -A POSTROUTING -o $WAN_IFACE -j MASQUERADE

#Enable unrestricted outgoing traffic, incoming
#is restricted to locally-initiated sessions only
$ipt -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
$ipt -A FORWARD -i $WAN_IFACE -o $LAN_IFACE -m state –state ESTABLISHED,RELATED -j
ACCEPT
$ipt -A FORWARD -i $LAN_IFACE -o $WAN_IFACE -m state –state NEW,ESTABLISHED,RELATED
-j ACCEPT

# Accept important ICMP messages
$ipt -A INPUT -p icmp –icmp-type echo-request -j ACCEPT
$ipt -A INPUT -p icmp –icmp-type time-exceeded -j ACCEPT
$ipt -A INPUT -p icmp –icmp-type destination-unreachable -j ACCEPT

#Reject connection attempts not initiated from inside the LAN –> server ngga bisa di-SSH
#$ipt -A INPUT -p tcp –syn -j DROP

#Supaya bisa di-SSH
$ipt -A INPUT -p tcp –syn -j ACCEPT

kemudian load sysctl :

# sysctl

akan muncul yang seperti ini (TIDAK MUNCUL JUGA TIDAK APA-APA, ASALKAN TIDAK ADA PESAN ERROR) :

net.ipv4.ip_forward = 1
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.conf.all.accept_source_route = 0

kemudian jalankan fw_nat yang telah kita buat tadi

# fw_nat start|stop|restart

setelah perintah ini diketik, TIDAK AKAN MUNCUL APA-APA!!!

*** sebagai tambahan, agar tidak repot secara manual mengaktifkan NAT. tambahkan baris berikut di file /etc/rc.d/rc.local supaya di-load saat startup

# echo “/usr/local/bin/fw_nat” >> /etc/rc.d/rc.local

download

Tidak ada komentar:

Posting Komentar