共計 3312 個字符,預計需要花費 9 分鐘才能閱讀完成。
這篇文章給大家分享的是有關 RedHat 9 上怎么用 iptables 做 NAT 網和記錄日志的內容。丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,一起跟隨丸趣 TV 小編過來看看吧。
RedHat 9 上用 iptables 做 NAT 網關 - - 我使用中的設置
一、將下列內容加入 /etc/rc.local 文件中:
注:eth0 綁內網 IP eth2 綁外網 IP
[root@RHNAT01 root]# vi /etc/rc.local
#!/bin/sh # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don rsquo;t # want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
route add -net 0.0.0.0 gw 外網網關 netmask 0.0.0.0 dev eth2
route add -net 內網網段 A gw 內網網關 netmask 255.255.240.0 dev eth0
route add -net 220.114.128.0 gw 211.162.0.129 netmask 255.255.224.0 dev eth0
route add -net 內網網段 B gw 內網網關 netmask 255.255.255.0 dev eth0
route add -net 內網網段 C gw 內網網關 netmask 255.255.255.0 dev eth0
route add -net 內網網段 D gw 內網網關 netmask 255.255.0.0 dev eth0
route add -net 內網網段 E gw 內網網關 netmask 255.255.0.0 dev eth0
echo 1048576 /proc/sys/net/ipv4/netfilter/ip_conntrack_max
sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=1800
echo 1 /proc/sys/net/ipv4/tcp_syncookies
echo 1 /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
echo 268435456 /proc/sys/kernel/shmall
echo 268435456 /proc/sys/kernel/shmmax
echo 1024 65000 /proc/sys/net/ipv4/ip_local_port_range
echo 1 /proc/sys/net/ipv4/ip_forward
/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_nat
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
/sbin/iptables –flush INPUT
/sbin/iptables –flush FORWARD
/sbin/iptables –flush POSTROUTING –table nat
/sbin/iptables –policy FORWARD DROP
/sbin/iptables –table nat –append POSTROUTING –out-interface eth2 –source 內網網段 A /19 –jump MASQUERADE
/sbin/iptables –table nat –append POSTROUTING –out-interface eth2 –source 內網網段 B /18 –jump MASQUERADE
/sbin/iptables –table nat –append POSTROUTING –out-interface eth2 –source 內網網段 C /24 –jump MASQUERADE
/sbin/iptables –table nat –append POSTROUTING –out-interface eth2 –source 內網網段 D /24 –jump MASQUERADE
/sbin/iptables –append FORWARD –in-interface eth2 (此處填外網 IP 網口)–match state –state ESTABLISHED,RELATED –jump ACCEPT
/sbin/iptables –append FORWARD –source 內網網段 A /19 –jump ACCEPT
/sbin/iptables –append FORWARD –source 內網網段 B /18 –jump ACCEPT
/sbin/iptables –append FORWARD –source 內網網段 C /24 –jump ACCEPT
/sbin/iptables –append FORWARD –source 內網網段 D /24 –jump ACCEPT
/sbin/iptables -I FORWARD -m state –state NEW -j LOG –log-level debug
/sbin/iptables –table nat –append POSTROUTING –out-interface eth0(內網口) -j SNAT –to *.*.*.*(外網 IP)
設置完成
二、日志保存
vi /etc/syslog.conf
在原來不動的基礎上添加
#remote net recevie stepup
kern.=debug @*.*.*.X #保存本地就用此句 -/var/log/iptables.log
*.* @*.*.*.X
至此完成 Iptables Nat 的設置和遠程日志發送設置
幾個命令
################
service syslog restart
Syslog 服務重新載入
iptables -L
這個命令會盡可能地以易讀的形式顯示當前正在使用的規則集。比如,他會盡量用文件 /etc/services 里相應的名字表示端口號,用相應的 DNS 記錄表示 IP 地址。
但后者可能會導致一些問題,例如,他想盡力把 LAN 的 IP 地址 (如 192.168.1.1) 解析成相應的名字。但 192.168.0.0/16 這個網段是私有的,也就是說,他只能
用在局域網里,而不能在 Internet 里使用,所以他不會被 Internet 上的 DNS 服務器解析。因此,當解析這個地址時,命令就似乎停在那兒了。為了避免這種情況
的發生,我們就要使用選項:
iptables -L -n
如果你想看看每個策略或每條規則、每條鏈的簡單流量統計,能在上面的命令后再加一個 verbose 標志,如下:
iptables -L -n -v
不要忘了,iptables - L 命令還能查看 nat 表和 mangle 表的內容哦(更不要忘了,默認的表是 filter),只需要使用 - t 選項, 比如我們只想看 nat 表的規則,就
用下面的命令:
iptables -L -t nat
在 /proc 里,可能更有一些文件你會感興趣。比如,你能在連接跟蹤記錄表里看到當前有哪些連接。這個表包含了當前的所有連接,你還能通過他了解到每個
連接處于什么狀態。要注意,這個表是不能編輯的,即使能,也不應該更改他。能用下面的命令查看這個表:
cat /proc/net/ip_conntrack | less
此命令會顯示當前所有被跟蹤的連接,但要讀懂那些記錄可是有些難度哦。
修正和清空 iptables 的命令 iptables -D INPUT 10
iptables -F INPUT
iptables –list 查看過濾表
感謝各位的閱讀!關于“RedHat 9 上怎么用 iptables 做 NAT 網和記錄日志”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!